From 312fa4a9887582117fe54346b6bf3c03810648ed Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 15:51:38 +0100 Subject: [PATCH 01/15] docs: regenerate readmes --- packages/layout/README.md | 9 +++++---- packages/pointfree-lang/README.md | 2 +- packages/random/README.md | 2 +- packages/rstream-gestures/README.md | 1 + packages/shader-ast-stdlib/README.md | 2 +- packages/simd/README.md | 2 +- packages/webgl/README.md | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/layout/README.md b/packages/layout/README.md index 10e213ac4c..004ffc4982 100644 --- a/packages/layout/README.md +++ b/packages/layout/README.md @@ -60,10 +60,11 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------- | -| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | -| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Minimal IMGUI usage example | [Demo](https://demo.thi.ng/umbrella/imgui-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui-basics) | ## API diff --git a/packages/pointfree-lang/README.md b/packages/pointfree-lang/README.md index 82eeee984a..d29017ace5 100644 --- a/packages/pointfree-lang/README.md +++ b/packages/pointfree-lang/README.md @@ -78,7 +78,7 @@ yarn add @thi.ng/pointfree-lang ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.24 KB / CJS: 5.24 KB / UMD: 5.15 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.23 KB / CJS: 5.23 KB / UMD: 5.14 KB ## Dependencies diff --git a/packages/random/README.md b/packages/random/README.md index f6c27e9f94..1db14001b8 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -55,7 +55,7 @@ yarn add @thi.ng/random ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.23 KB / CJS: 1.33 KB / UMD: 1.35 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.23 KB / CJS: 1.33 KB / UMD: 1.37 KB ## Dependencies diff --git a/packages/rstream-gestures/README.md b/packages/rstream-gestures/README.md index e24ce20761..a2f30f03da 100644 --- a/packages/rstream-gestures/README.md +++ b/packages/rstream-gestures/README.md @@ -77,6 +77,7 @@ A selection: | | Mouse gesture / stroke analysis, simplification, corner detection | [Demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) | | | 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) | +| | Minimal IMGUI usage example | [Demo](https://demo.thi.ng/umbrella/imgui-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui-basics) | | | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | | | Basic rstream-gestures multi-touch demo | [Demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) | | | Minimal shader graph developed during livestream #2 | [Demo](https://demo.thi.ng/umbrella/shader-graph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-graph) | diff --git a/packages/shader-ast-stdlib/README.md b/packages/shader-ast-stdlib/README.md index 7e4798db75..58dec6cd3f 100644 --- a/packages/shader-ast-stdlib/README.md +++ b/packages/shader-ast-stdlib/README.md @@ -88,7 +88,7 @@ yarn add @thi.ng/shader-ast-stdlib ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.83 KB / CJS: 6.60 KB / UMD: 6.06 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.86 KB / CJS: 6.63 KB / UMD: 6.09 KB ## Dependencies diff --git a/packages/simd/README.md b/packages/simd/README.md index c119e64a56..1c88cccf76 100644 --- a/packages/simd/README.md +++ b/packages/simd/README.md @@ -116,7 +116,7 @@ yarn add @thi.ng/simd ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.50 KB / CJS: 2.56 KB / UMD: 2.68 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.47 KB / CJS: 2.53 KB / UMD: 2.65 KB ## Dependencies diff --git a/packages/webgl/README.md b/packages/webgl/README.md index 161accf8c1..69ba082ab6 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -89,7 +89,7 @@ yarn add @thi.ng/webgl ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.35 KB / CJS: 11.52 KB / UMD: 11.35 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.48 KB / CJS: 11.65 KB / UMD: 11.47 KB ## Dependencies From 5ebe2682defccf2d65c85f67b0540988bdee737a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 21:22:35 +0100 Subject: [PATCH 02/15] build(examples): add build:webpack script aliases & config --- examples/bitmap-font/package.json | 1 + examples/bitmap-font/webpack.config.js | 23 +++++++++++++++++++ examples/canvas-dial/package.json | 1 + examples/canvas-dial/webpack.config.js | 23 +++++++++++++++++++ examples/commit-table-ssr/package.json | 5 ++-- examples/commit-table-ssr/webpack.config.js | 23 +++++++++++++++++++ examples/gesture-analysis/package.json | 1 + examples/gesture-analysis/webpack.config.js | 23 +++++++++++++++++++ .../hdom-canvas-particles/webpack.config.js | 23 +++++++++++++++++++ examples/hdom-dropdown-fuzzy/package.json | 1 + .../hdom-dropdown-fuzzy/webpack.config.js | 23 +++++++++++++++++++ examples/hdom-dropdown/package.json | 1 + examples/hdom-dropdown/webpack.config.js | 23 +++++++++++++++++++ examples/hdom-vscroller/webpack.config.js | 23 +++++++++++++++++++ examples/hmr-basics/package.json | 1 + examples/hmr-basics/webpack.config.js | 23 +++++++++++++++++++ examples/mandelbrot/package.json | 3 ++- examples/mandelbrot/webpack.config.js | 23 +++++++++++++++++++ examples/mandelbrot/webpack.worker.js | 23 +++++++++++++++++++ examples/router-basics/package.json | 1 + examples/router-basics/webpack.config.js | 23 +++++++++++++++++++ examples/rstream-dataflow/package.json | 1 + examples/rstream-dataflow/webpack.config.js | 23 +++++++++++++++++++ examples/rstream-grid/package.json | 1 + examples/rstream-grid/webpack.config.js | 23 +++++++++++++++++++ examples/svg-waveform/package.json | 1 + examples/svg-waveform/webpack.config.js | 23 +++++++++++++++++++ examples/talk-slides/package.json | 1 + examples/talk-slides/webpack.config.js | 23 +++++++++++++++++++ examples/triple-query/package.json | 1 + examples/triple-query/webpack.config.js | 23 +++++++++++++++++++ examples/xml-converter/package.json | 1 + examples/xml-converter/webpack.config.js | 23 +++++++++++++++++++ 33 files changed, 432 insertions(+), 3 deletions(-) create mode 100644 examples/bitmap-font/webpack.config.js create mode 100644 examples/canvas-dial/webpack.config.js create mode 100644 examples/commit-table-ssr/webpack.config.js create mode 100644 examples/gesture-analysis/webpack.config.js create mode 100644 examples/hdom-canvas-particles/webpack.config.js create mode 100644 examples/hdom-dropdown-fuzzy/webpack.config.js create mode 100644 examples/hdom-dropdown/webpack.config.js create mode 100644 examples/hdom-vscroller/webpack.config.js create mode 100644 examples/hmr-basics/webpack.config.js create mode 100644 examples/mandelbrot/webpack.config.js create mode 100644 examples/mandelbrot/webpack.worker.js create mode 100644 examples/router-basics/webpack.config.js create mode 100644 examples/rstream-dataflow/webpack.config.js create mode 100644 examples/rstream-grid/webpack.config.js create mode 100644 examples/svg-waveform/webpack.config.js create mode 100644 examples/talk-slides/webpack.config.js create mode 100644 examples/triple-query/webpack.config.js create mode 100644 examples/xml-converter/webpack.config.js diff --git a/examples/bitmap-font/package.json b/examples/bitmap-font/package.json index 3d00c6e9b7..680ce34175 100644 --- a/examples/bitmap-font/package.json +++ b/examples/bitmap-font/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --detailed-report --experimental-scope-hoisting", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/bitmap-font/webpack.config.js b/examples/bitmap-font/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/bitmap-font/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/canvas-dial/package.json b/examples/canvas-dial/package.json index 205491052f..cd422e8889 100644 --- a/examples/canvas-dial/package.json +++ b/examples/canvas-dial/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/canvas-dial/webpack.config.js b/examples/canvas-dial/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/canvas-dial/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json index a0c8fd8f5b..5d68dcb9c5 100644 --- a/examples/commit-table-ssr/package.json +++ b/examples/commit-table-ssr/package.json @@ -10,6 +10,7 @@ "prep": "yarn clean && mkdir -p out && cp commits.json out", "build-static": "tsc && node build/server/static.js", "build": "yarn prep && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "tsc && node build/server/index.js" }, "devDependencies": { @@ -18,7 +19,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "express": "^4.16.3", + "express": "^4.17.1", "@thi.ng/api": "latest", "@thi.ng/associative": "latest", "@thi.ng/cache": "latest", @@ -27,7 +28,7 @@ "@thi.ng/rstream": "latest", "@thi.ng/transducers": "latest", "@thi.ng/transducers-hdom": "latest", - "@types/express": "^4.16.0" + "@types/express": "^4.17.7" }, "browserslist": [ "last 3 Chrome versions" diff --git a/examples/commit-table-ssr/webpack.config.js b/examples/commit-table-ssr/webpack.config.js new file mode 100644 index 0000000000..a026490e1d --- /dev/null +++ b/examples/commit-table-ssr/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/client/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out", + }, + resolve: { + extensions: [".ts", ".js"], + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" }, + }, + { test: /\.ts$/, use: "ts-loader" }, + ], + }, + node: { + process: false, + }, +}; diff --git a/examples/gesture-analysis/package.json b/examples/gesture-analysis/package.json index 60ad61eb99..e45401bf33 100644 --- a/examples/gesture-analysis/package.json +++ b/examples/gesture-analysis/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/gesture-analysis/webpack.config.js b/examples/gesture-analysis/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/gesture-analysis/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/hdom-canvas-particles/webpack.config.js b/examples/hdom-canvas-particles/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/hdom-canvas-particles/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/hdom-dropdown-fuzzy/package.json b/examples/hdom-dropdown-fuzzy/package.json index 13c7911caf..9b6d26a638 100644 --- a/examples/hdom-dropdown-fuzzy/package.json +++ b/examples/hdom-dropdown-fuzzy/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/hdom-dropdown-fuzzy/webpack.config.js b/examples/hdom-dropdown-fuzzy/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/hdom-dropdown-fuzzy/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/hdom-dropdown/package.json b/examples/hdom-dropdown/package.json index 4b6e3bbd98..798070d656 100644 --- a/examples/hdom-dropdown/package.json +++ b/examples/hdom-dropdown/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/hdom-dropdown/webpack.config.js b/examples/hdom-dropdown/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/hdom-dropdown/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/hdom-vscroller/webpack.config.js b/examples/hdom-vscroller/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/hdom-vscroller/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/hmr-basics/package.json b/examples/hmr-basics/package.json index badb59e658..2fdb44aad5 100644 --- a/examples/hmr-basics/package.json +++ b/examples/hmr-basics/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/hmr-basics/webpack.config.js b/examples/hmr-basics/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/hmr-basics/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/mandelbrot/package.json b/examples/mandelbrot/package.json index 3298dcf93b..a62c08576a 100644 --- a/examples/mandelbrot/package.json +++ b/examples/mandelbrot/package.json @@ -8,7 +8,8 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && yarn build:worker && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report", - "build:worker": "parcel build src/worker.ts -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --experimental-scope-hoisting", + "build:worker": "../../node_modules/.bin/webpack --config webpack.worker.js --mode production", + "build:webpack": "yarn build:worker && ../../node_modules/.bin/webpack --mode production", "start": "yarn build:worker && parcel index.html -d out -p 8080 --open" }, "devDependencies": { diff --git a/examples/mandelbrot/webpack.config.js b/examples/mandelbrot/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/mandelbrot/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/mandelbrot/webpack.worker.js b/examples/mandelbrot/webpack.worker.js new file mode 100644 index 0000000000..cafb437b4d --- /dev/null +++ b/examples/mandelbrot/webpack.worker.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/worker.ts", + output: { + filename: "worker.js", + path: __dirname + "/out", + }, + resolve: { + extensions: [".ts", ".js"], + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" }, + }, + { test: /\.ts$/, use: "ts-loader" }, + ], + }, + node: { + process: false, + }, +}; diff --git a/examples/router-basics/package.json b/examples/router-basics/package.json index 54610d26ac..fa143a0f85 100644 --- a/examples/router-basics/package.json +++ b/examples/router-basics/package.json @@ -9,6 +9,7 @@ "clean": "rm -rf .cache build out", "prep": "yarn clean && mkdir -p out && cp -R assets out", "build": "yarn prep && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "yarn prep && parcel index.html -p 8080 --open -d out" }, "dependencies": { diff --git a/examples/router-basics/webpack.config.js b/examples/router-basics/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/router-basics/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/rstream-dataflow/package.json b/examples/rstream-dataflow/package.json index 1f4b21457b..1380210354 100644 --- a/examples/rstream-dataflow/package.json +++ b/examples/rstream-dataflow/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/rstream-dataflow/webpack.config.js b/examples/rstream-dataflow/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/rstream-dataflow/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/rstream-grid/package.json b/examples/rstream-grid/package.json index 42b0c17abb..88c52485f9 100644 --- a/examples/rstream-grid/package.json +++ b/examples/rstream-grid/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "dependencies": { diff --git a/examples/rstream-grid/webpack.config.js b/examples/rstream-grid/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/rstream-grid/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/svg-waveform/package.json b/examples/svg-waveform/package.json index 4d9ad381af..0ff673eec9 100644 --- a/examples/svg-waveform/package.json +++ b/examples/svg-waveform/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "dependencies": { diff --git a/examples/svg-waveform/webpack.config.js b/examples/svg-waveform/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/svg-waveform/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/talk-slides/package.json b/examples/talk-slides/package.json index f58c4b7229..c0def47a46 100644 --- a/examples/talk-slides/package.json +++ b/examples/talk-slides/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/talk-slides/webpack.config.js b/examples/talk-slides/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/talk-slides/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/triple-query/package.json b/examples/triple-query/package.json index 8176cc53c9..3582ff213d 100644 --- a/examples/triple-query/package.json +++ b/examples/triple-query/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report --public-url ./", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { diff --git a/examples/triple-query/webpack.config.js b/examples/triple-query/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/triple-query/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/xml-converter/package.json b/examples/xml-converter/package.json index 45f1578c50..89131aa846 100644 --- a/examples/xml-converter/package.json +++ b/examples/xml-converter/package.json @@ -8,6 +8,7 @@ "scripts": { "clean": "rm -rf .cache build out", "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --experimental-scope-hoisting --detailed-report", + "build:webpack": "../../node_modules/.bin/webpack --mode production", "build-cli": "tsc -p tsconfig-cli.json", "start": "parcel index.html -p 8080 --open --no-cache" }, diff --git a/examples/xml-converter/webpack.config.js b/examples/xml-converter/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/xml-converter/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; From db47ca77192be3c93ffa5c44960ba2d986113895 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 21:31:46 +0100 Subject: [PATCH 03/15] build(examples): add plausible.io analytics code - see https://plausible.io/about for more details --- examples/adaptive-threshold/index.html | 6 + examples/async-effect/index.html | 77 ++++--- examples/bitmap-font/index.html | 6 + examples/canvas-dial/index.html | 38 ++-- examples/cellular-automata/index.html | 8 +- examples/commit-table-ssr/index.html | 38 ++-- examples/crypto-chart/index.html | 38 ++-- examples/devcards/index.html | 8 +- examples/fft-synth/index.html | 6 + examples/geom-convex-hull/index.html | 6 + examples/geom-fuzz-basics/index.html | 6 + examples/geom-knn/index.html | 38 ++-- examples/geom-tessel/index.html | 38 ++-- examples/geom-voronoi-mst/index.html | 6 + examples/gesture-analysis/index.html | 38 ++-- examples/grid-iterators/index.html | 6 + examples/hdom-basics/index.html | 40 ++-- examples/hdom-benchmark/index.html | 8 +- examples/hdom-benchmark2/index.html | 38 ++-- examples/hdom-canvas-clock/index.html | 38 ++-- examples/hdom-canvas-draw/index.html | 38 ++-- examples/hdom-canvas-particles/index.html | 6 + examples/hdom-canvas-shapes/index.html | 38 ++-- examples/hdom-dropdown-fuzzy/index.html | 8 +- examples/hdom-dropdown/index.html | 9 +- examples/hdom-dyn-context/index.html | 38 ++-- examples/hdom-elm/index.html | 6 + examples/hdom-inner-html/index.html | 34 +-- examples/hdom-local-render/index.html | 6 + examples/hdom-localstate/index.html | 6 + examples/hdom-skip-nested/index.html | 8 +- examples/hdom-skip/index.html | 38 ++-- examples/hdom-theme-adr-0003/index.html | 47 ++-- examples/hdom-toggle/index.html | 6 + examples/hdom-vscroller/index.html | 38 ++-- examples/hiccup-canvas-arcs/index.html | 6 + examples/hmr-basics/index.html | 38 ++-- examples/hydrate-basics/index.html | 38 ++-- examples/imgui-basics/index.html | 6 + examples/imgui/index.html | 6 + examples/interceptor-basics/index.html | 38 ++-- examples/interceptor-basics2/index.html | 5 +- examples/iso-plasma/index.html | 34 +-- examples/json-components/index.html | 8 +- examples/login-form/index.html | 62 +++--- examples/mandelbrot/index.html | 38 ++-- examples/markdown/index.html | 79 ++++--- examples/multitouch/index.html | 6 + examples/parse-playground/index.html | 6 + examples/pixel-basics/index.html | 34 +-- examples/poisson-circles/index.html | 42 ++-- examples/poly-spline/index.html | 34 +-- examples/porter-duff/index.html | 6 + examples/ramp-synth/index.html | 6 + examples/rdom-basics/index.html | 6 + examples/rdom-dnd/index.html | 6 + examples/rdom-lissajous/index.html | 6 + examples/rdom-search-docs/index.html | 6 + examples/rotating-voronoi/index.html | 34 +-- examples/router-basics/index.html | 8 +- examples/rstream-dataflow/index.html | 8 +- examples/rstream-event-loop/index.html | 6 + examples/rstream-grid/index.html | 253 +++++++++++----------- examples/rstream-hdom/index.html | 40 ++-- examples/rstream-spreadsheet/index.html | 6 + examples/scenegraph-image/index.html | 6 + examples/scenegraph/index.html | 6 + examples/shader-ast-canvas2d/index.html | 6 + examples/shader-ast-evo/index.html | 6 + examples/shader-ast-noise/index.html | 6 + examples/shader-ast-raymarch/index.html | 6 + examples/shader-ast-sdf2d/index.html | 6 + examples/shader-ast-tunnel/index.html | 6 + examples/shader-ast-workers/index.html | 6 + examples/shader-graph/index.html | 6 + examples/soa-ecs/index.html | 6 + examples/stratified-grid/index.html | 42 ++-- examples/svg-barchart/index.html | 38 ++-- examples/svg-particles/index.html | 8 +- examples/svg-waveform/index.html | 51 +++-- examples/talk-slides/index.html | 75 ++++--- examples/text-canvas/index.html | 6 + examples/todo-list/index.html | 136 ++++++------ examples/transducers-hdom/index.html | 38 ++-- examples/triple-query/index.html | 51 +++-- examples/webgl-cube/index.html | 6 + examples/webgl-cubemap/index.html | 34 +-- examples/webgl-grid/index.html | 6 + examples/webgl-msdf/index.html | 34 +-- examples/webgl-multipass/index.html | 34 +-- examples/webgl-shadertoy/index.html | 8 +- examples/webgl-ssao/index.html | 34 +-- examples/wolfram/index.html | 34 +-- examples/xml-converter/index.html | 6 + 94 files changed, 1494 insertions(+), 897 deletions(-) diff --git a/examples/adaptive-threshold/index.html b/examples/adaptive-threshold/index.html index 9ac88d71c7..d5dbbaee4a 100644 --- a/examples/adaptive-threshold/index.html +++ b/examples/adaptive-threshold/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/async-effect/index.html b/examples/async-effect/index.html index cd9dcb16af..84f590e35d 100644 --- a/examples/async-effect/index.html +++ b/examples/async-effect/index.html @@ -1,42 +1,49 @@ + + + + + async-effect + + + - pre { - padding: 0.5rem; - background: #eee; - } - - - - -

async side effect handling

-

- Source -

-
- - - - \ No newline at end of file + +

async side effect handling

+

+ Source +

+
+ + + diff --git a/examples/bitmap-font/index.html b/examples/bitmap-font/index.html index 78ec9df4ba..bc883e1082 100644 --- a/examples/bitmap-font/index.html +++ b/examples/bitmap-font/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> + diff --git a/examples/canvas-dial/index.html b/examples/canvas-dial/index.html index 71acba610a..f476b1a210 100644 --- a/examples/canvas-dial/index.html +++ b/examples/canvas-dial/index.html @@ -1,19 +1,25 @@ + + + + + canvas-dial + + + + - - - - - canvas-dial - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/cellular-automata/index.html b/examples/cellular-automata/index.html index ebb82a05de..829d30c347 100644 --- a/examples/cellular-automata/index.html +++ b/examples/cellular-automata/index.html @@ -16,6 +16,12 @@ width: 5rem; } + @@ -32,6 +38,6 @@ >@thi.ng/hdom. - + diff --git a/examples/commit-table-ssr/index.html b/examples/commit-table-ssr/index.html index 122f00b052..49a2a6bd36 100644 --- a/examples/commit-table-ssr/index.html +++ b/examples/commit-table-ssr/index.html @@ -1,17 +1,27 @@ + + + + + + commit-table-hdom + + - - - - - - commit-table-hdom - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/crypto-chart/index.html b/examples/crypto-chart/index.html index 0f8cca26ef..9b8efdf8c9 100644 --- a/examples/crypto-chart/index.html +++ b/examples/crypto-chart/index.html @@ -1,19 +1,25 @@ + + + + + crypto-chart + + + + - - - - - crypto-chart - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/devcards/index.html b/examples/devcards/index.html index e70a98c4de..eef0d80251 100644 --- a/examples/devcards/index.html +++ b/examples/devcards/index.html @@ -51,6 +51,12 @@ color: red; } + @@ -76,6 +82,6 @@ > for more information.

- + diff --git a/examples/fft-synth/index.html b/examples/fft-synth/index.html index 9b2373c3b0..2b5739b3db 100644 --- a/examples/fft-synth/index.html +++ b/examples/fft-synth/index.html @@ -14,6 +14,12 @@ rel="stylesheet" /> +
diff --git a/examples/geom-convex-hull/index.html b/examples/geom-convex-hull/index.html index 25f5a52d96..bad1e4ba38 100644 --- a/examples/geom-convex-hull/index.html +++ b/examples/geom-convex-hull/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/geom-fuzz-basics/index.html b/examples/geom-fuzz-basics/index.html index 5f502614ad..4c1e5a0ce1 100644 --- a/examples/geom-fuzz-basics/index.html +++ b/examples/geom-fuzz-basics/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/geom-knn/index.html b/examples/geom-knn/index.html index 0a699d2de3..99b74606dd 100644 --- a/examples/geom-knn/index.html +++ b/examples/geom-knn/index.html @@ -1,19 +1,25 @@ + + + + + geom-knn + + + + - - - - - geom-knn - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/geom-tessel/index.html b/examples/geom-tessel/index.html index 4d002a723c..e2af57d4f4 100644 --- a/examples/geom-tessel/index.html +++ b/examples/geom-tessel/index.html @@ -1,19 +1,25 @@ + + + + + geom-tessel + + + + - - - - - geom-tessel - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/geom-voronoi-mst/index.html b/examples/geom-voronoi-mst/index.html index 15e991c2f5..c6049d21b2 100644 --- a/examples/geom-voronoi-mst/index.html +++ b/examples/geom-voronoi-mst/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/gesture-analysis/index.html b/examples/gesture-analysis/index.html index b24905ce4c..e09cd00bc2 100644 --- a/examples/gesture-analysis/index.html +++ b/examples/gesture-analysis/index.html @@ -1,19 +1,25 @@ + + + + + gestures + + + + - - - - - gestures - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/grid-iterators/index.html b/examples/grid-iterators/index.html index 38526513c2..8201e298c9 100644 --- a/examples/grid-iterators/index.html +++ b/examples/grid-iterators/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hdom-basics/index.html b/examples/hdom-basics/index.html index 2784689461..0d38454af3 100644 --- a/examples/hdom-basics/index.html +++ b/examples/hdom-basics/index.html @@ -1,21 +1,25 @@ + + + + + hdom-basics + + + - - - - - hdom-basics - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-benchmark/index.html b/examples/hdom-benchmark/index.html index 02c875bec6..fa26691e0e 100644 --- a/examples/hdom-benchmark/index.html +++ b/examples/hdom-benchmark/index.html @@ -40,6 +40,12 @@ padding: 4px 0; } + @@ -51,6 +57,6 @@ >@thi.ng/hdom. - + diff --git a/examples/hdom-benchmark2/index.html b/examples/hdom-benchmark2/index.html index 5819acedc1..4cd6ce1173 100644 --- a/examples/hdom-benchmark2/index.html +++ b/examples/hdom-benchmark2/index.html @@ -1,19 +1,25 @@ + + + + + hdom-benchmark2 + + + + - - - - - hdom-benchmark2 - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-canvas-clock/index.html b/examples/hdom-canvas-clock/index.html index b7b82f3993..4b0deac88e 100644 --- a/examples/hdom-canvas-clock/index.html +++ b/examples/hdom-canvas-clock/index.html @@ -1,19 +1,25 @@ + + + + + hdom-canvas + + + + - - - - - hdom-canvas - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-canvas-draw/index.html b/examples/hdom-canvas-draw/index.html index ca5e416757..74ba113536 100644 --- a/examples/hdom-canvas-draw/index.html +++ b/examples/hdom-canvas-draw/index.html @@ -1,19 +1,25 @@ + + + + + hdom-canvas-draw + + + + - - - - - hdom-canvas-draw - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-canvas-particles/index.html b/examples/hdom-canvas-particles/index.html index 144695cd17..47ad61a200 100644 --- a/examples/hdom-canvas-particles/index.html +++ b/examples/hdom-canvas-particles/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hdom-canvas-shapes/index.html b/examples/hdom-canvas-shapes/index.html index 4b9378e5b5..2379ed3213 100644 --- a/examples/hdom-canvas-shapes/index.html +++ b/examples/hdom-canvas-shapes/index.html @@ -1,19 +1,25 @@ + + + + + hdom-canvas-shapes + + + + - - - - - hdom-canvas-shapes - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-dropdown-fuzzy/index.html b/examples/hdom-dropdown-fuzzy/index.html index f1d5abd852..c0110f2a87 100644 --- a/examples/hdom-dropdown-fuzzy/index.html +++ b/examples/hdom-dropdown-fuzzy/index.html @@ -17,6 +17,12 @@ crossorigin="anonymous" /> + @@ -28,6 +34,6 @@ >
- + diff --git a/examples/hdom-dropdown/index.html b/examples/hdom-dropdown/index.html index c90c5b5982..1a83b394cf 100644 --- a/examples/hdom-dropdown/index.html +++ b/examples/hdom-dropdown/index.html @@ -15,7 +15,12 @@ integrity="sha384-G0fIWCsCzJIMAVNQPfjH08cyYaUtMwjJwqiRKxxE/rx96Uroj1BtIQ6MLJuheaO9" crossorigin="anonymous" /> - + @@ -27,6 +32,6 @@ >
- + diff --git a/examples/hdom-dyn-context/index.html b/examples/hdom-dyn-context/index.html index 04e18e3778..46f394ab54 100644 --- a/examples/hdom-dyn-context/index.html +++ b/examples/hdom-dyn-context/index.html @@ -1,19 +1,25 @@ + + + + + hdom-dyn-context + + + + - - - - - hdom-dyn-context - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-elm/index.html b/examples/hdom-elm/index.html index f0a41b5569..73a226cb7e 100644 --- a/examples/hdom-elm/index.html +++ b/examples/hdom-elm/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hdom-inner-html/index.html b/examples/hdom-inner-html/index.html index 9551c2e5d6..fce56aeeec 100644 --- a/examples/hdom-inner-html/index.html +++ b/examples/hdom-inner-html/index.html @@ -1,16 +1,24 @@ - - - - - hdom-inner-html - - - - -
- - + + + + + hdom-inner-html + + + + + +
+ + diff --git a/examples/hdom-local-render/index.html b/examples/hdom-local-render/index.html index c9c95cb5c3..d5d37c08d5 100644 --- a/examples/hdom-local-render/index.html +++ b/examples/hdom-local-render/index.html @@ -14,6 +14,12 @@ user-select: none; } +
diff --git a/examples/hdom-localstate/index.html b/examples/hdom-localstate/index.html index 8055008c58..908b040c69 100644 --- a/examples/hdom-localstate/index.html +++ b/examples/hdom-localstate/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hdom-skip-nested/index.html b/examples/hdom-skip-nested/index.html index 46b43795e5..3ea5a960a3 100644 --- a/examples/hdom-skip-nested/index.html +++ b/examples/hdom-skip-nested/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
@@ -31,6 +37,6 @@ >Source code
- + diff --git a/examples/hdom-skip/index.html b/examples/hdom-skip/index.html index d3f0cbcb34..3d971e3266 100644 --- a/examples/hdom-skip/index.html +++ b/examples/hdom-skip/index.html @@ -1,19 +1,25 @@ + + + + + hdom-skip + + + + - - - - - hdom-skip - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-theme-adr-0003/index.html b/examples/hdom-theme-adr-0003/index.html index f84ebc1ff4..663a40964e 100644 --- a/examples/hdom-theme-adr-0003/index.html +++ b/examples/hdom-theme-adr-0003/index.html @@ -1,23 +1,30 @@ + + + + + hdom-theme-adr-0003 + + + + - - - - - hdom-theme-adr-0003 - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hdom-toggle/index.html b/examples/hdom-toggle/index.html index 355b2d62cd..3c3272ce8b 100644 --- a/examples/hdom-toggle/index.html +++ b/examples/hdom-toggle/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hdom-vscroller/index.html b/examples/hdom-vscroller/index.html index e4feadcaf7..b34de8a985 100644 --- a/examples/hdom-vscroller/index.html +++ b/examples/hdom-vscroller/index.html @@ -1,19 +1,25 @@ + + + + + hdom-vscroller + + + + - - - - - hdom-vscroller - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hiccup-canvas-arcs/index.html b/examples/hiccup-canvas-arcs/index.html index d0bba4f87b..65e99950b1 100644 --- a/examples/hiccup-canvas-arcs/index.html +++ b/examples/hiccup-canvas-arcs/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/hmr-basics/index.html b/examples/hmr-basics/index.html index dba9cdbdb2..9d74b5dcdb 100644 --- a/examples/hmr-basics/index.html +++ b/examples/hmr-basics/index.html @@ -1,19 +1,25 @@ + + + + + hmr-basics + + + + - - - - - hmr-basics - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/hydrate-basics/index.html b/examples/hydrate-basics/index.html index a35f4831b1..9cb6704427 100644 --- a/examples/hydrate-basics/index.html +++ b/examples/hydrate-basics/index.html @@ -1,19 +1,25 @@ + + + + + hydrate-basics + + + + - - - - - hydrate-basics - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/imgui-basics/index.html b/examples/imgui-basics/index.html index 168b402613..dbb628615f 100644 --- a/examples/imgui-basics/index.html +++ b/examples/imgui-basics/index.html @@ -14,6 +14,12 @@ rel="stylesheet" /> +
diff --git a/examples/imgui/index.html b/examples/imgui/index.html index 9ef0393197..92dff49624 100644 --- a/examples/imgui/index.html +++ b/examples/imgui/index.html @@ -21,6 +21,12 @@ font-family: "IBM Plex Mono"; } +
diff --git a/examples/interceptor-basics/index.html b/examples/interceptor-basics/index.html index 3cbb7a84ec..efce38449f 100644 --- a/examples/interceptor-basics/index.html +++ b/examples/interceptor-basics/index.html @@ -1,19 +1,25 @@ + + + + + interceptor-basics + + + + - - - - - interceptor-basics - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/interceptor-basics2/index.html b/examples/interceptor-basics2/index.html index 067b568c89..8bbae7975d 100644 --- a/examples/interceptor-basics2/index.html +++ b/examples/interceptor-basics2/index.html @@ -30,8 +30,7 @@ width: 5rem; text-align: center; } - - +

This example demonstrates the use of @thi.ng/interceptors' event bus and interceptor driven event handling @@ -52,7 +51,7 @@

- + \ No newline at end of file diff --git a/examples/iso-plasma/index.html b/examples/iso-plasma/index.html index 8f3394ea92..19a4a2aa82 100644 --- a/examples/iso-plasma/index.html +++ b/examples/iso-plasma/index.html @@ -1,16 +1,24 @@ - - - - - iso-plasma - - - - -
- - + + + + + iso-plasma + + + + + +
+ + diff --git a/examples/json-components/index.html b/examples/json-components/index.html index 928aec0a5b..8af30a03bc 100644 --- a/examples/json-components/index.html +++ b/examples/json-components/index.html @@ -107,6 +107,12 @@ background-size: contain; } + @@ -133,6 +139,6 @@

JSON driven components

>@thi.ng/hdom. - + diff --git a/examples/login-form/index.html b/examples/login-form/index.html index 73e3435f1c..dd21c64ffc 100644 --- a/examples/login-form/index.html +++ b/examples/login-form/index.html @@ -1,34 +1,38 @@ + + + + + login-form + + + - footer { - position: fixed; - bottom: 1em; - left: 1em; - } - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/mandelbrot/index.html b/examples/mandelbrot/index.html index 3d378f7ac0..851fb4d332 100644 --- a/examples/mandelbrot/index.html +++ b/examples/mandelbrot/index.html @@ -1,19 +1,25 @@ + + + + + mandelbrot + + + + - - - - - mandelbrot - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/markdown/index.html b/examples/markdown/index.html index 3beebc571f..c36a4001be 100644 --- a/examples/markdown/index.html +++ b/examples/markdown/index.html @@ -1,41 +1,48 @@ + + + + + markdown + + + + - pre[lang]::before { - content: attr(lang); - text-transform: uppercase; - } - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/multitouch/index.html b/examples/multitouch/index.html index 41eeb40717..b365cabef8 100644 --- a/examples/multitouch/index.html +++ b/examples/multitouch/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/parse-playground/index.html b/examples/parse-playground/index.html index 7ced45e5f9..5c4b598b57 100644 --- a/examples/parse-playground/index.html +++ b/examples/parse-playground/index.html @@ -41,6 +41,12 @@ } } + diff --git a/examples/pixel-basics/index.html b/examples/pixel-basics/index.html index b1ec67edde..8d44f44253 100644 --- a/examples/pixel-basics/index.html +++ b/examples/pixel-basics/index.html @@ -1,16 +1,24 @@ - - - - - pixel-basics - - - - -
- - + + + + + pixel-basics + + + + + +
+ + diff --git a/examples/poisson-circles/index.html b/examples/poisson-circles/index.html index 20ce7999cf..3e0a6933be 100644 --- a/examples/poisson-circles/index.html +++ b/examples/poisson-circles/index.html @@ -1,17 +1,31 @@ - - - - - poisson-circles - - - - -
-
Source code
- - + + + + + poisson-circles + + + + + +
+
+ Source code +
+ + diff --git a/examples/poly-spline/index.html b/examples/poly-spline/index.html index f5086aec1e..c028c3d835 100644 --- a/examples/poly-spline/index.html +++ b/examples/poly-spline/index.html @@ -1,16 +1,24 @@ - - - - - poly-spline - - - - -
- - + + + + + poly-spline + + + + + +
+ + diff --git a/examples/porter-duff/index.html b/examples/porter-duff/index.html index 2c78597f00..b4eecf01af 100644 --- a/examples/porter-duff/index.html +++ b/examples/porter-duff/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/ramp-synth/index.html b/examples/ramp-synth/index.html index 29568cc630..8dcccf717d 100644 --- a/examples/ramp-synth/index.html +++ b/examples/ramp-synth/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/rdom-basics/index.html b/examples/rdom-basics/index.html index 18740d9bc5..972dd24175 100644 --- a/examples/rdom-basics/index.html +++ b/examples/rdom-basics/index.html @@ -14,6 +14,12 @@ filter: blur(5px); } +
diff --git a/examples/rdom-dnd/index.html b/examples/rdom-dnd/index.html index 87cf5daf31..da6bba325e 100644 --- a/examples/rdom-dnd/index.html +++ b/examples/rdom-dnd/index.html @@ -19,6 +19,12 @@ margin-right: 0.5rem; } +
diff --git a/examples/rdom-lissajous/index.html b/examples/rdom-lissajous/index.html index 4e17e6ae26..16471096a4 100644 --- a/examples/rdom-lissajous/index.html +++ b/examples/rdom-lissajous/index.html @@ -34,6 +34,12 @@ opacity: 1; } +
diff --git a/examples/rdom-search-docs/index.html b/examples/rdom-search-docs/index.html index 03bf14140b..508aad6c1b 100644 --- a/examples/rdom-search-docs/index.html +++ b/examples/rdom-search-docs/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/rotating-voronoi/index.html b/examples/rotating-voronoi/index.html index 9b6e5b6774..ae5598bb54 100644 --- a/examples/rotating-voronoi/index.html +++ b/examples/rotating-voronoi/index.html @@ -1,16 +1,24 @@ - - - - - rotating-voronoi - - - - -
- - + + + + + rotating-voronoi + + + + + +
+ + diff --git a/examples/router-basics/index.html b/examples/router-basics/index.html index 8fea8506c0..77877bc83d 100644 --- a/examples/router-basics/index.html +++ b/examples/router-basics/index.html @@ -49,6 +49,12 @@ transition-delay: 0.5s; } + @@ -63,6 +69,6 @@ >@manomine - + diff --git a/examples/rstream-dataflow/index.html b/examples/rstream-dataflow/index.html index 361d56066e..178873793d 100644 --- a/examples/rstream-dataflow/index.html +++ b/examples/rstream-dataflow/index.html @@ -21,6 +21,12 @@ background: none; } + @@ -34,6 +40,6 @@ >Source
- + diff --git a/examples/rstream-event-loop/index.html b/examples/rstream-event-loop/index.html index 02dfd88909..3e4b3f07ed 100644 --- a/examples/rstream-event-loop/index.html +++ b/examples/rstream-event-loop/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/rstream-grid/index.html b/examples/rstream-grid/index.html index dd2861dafc..b0fa79d67f 100644 --- a/examples/rstream-grid/index.html +++ b/examples/rstream-grid/index.html @@ -1,125 +1,132 @@ - - - - - - rstream-grid - - - - - - -
- - - - \ No newline at end of file + + + + + rstream-grid + + + + + + + +
+ + + diff --git a/examples/rstream-hdom/index.html b/examples/rstream-hdom/index.html index 284740b5cf..1e7c03252a 100644 --- a/examples/rstream-hdom/index.html +++ b/examples/rstream-hdom/index.html @@ -1,20 +1,26 @@ + + + + + rstream-hdom + + + + + - - - - - rstream-hdom - - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/rstream-spreadsheet/index.html b/examples/rstream-spreadsheet/index.html index eb65c41002..c8ce932014 100644 --- a/examples/rstream-spreadsheet/index.html +++ b/examples/rstream-spreadsheet/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/scenegraph-image/index.html b/examples/scenegraph-image/index.html index 93e0439a0f..407650b65e 100644 --- a/examples/scenegraph-image/index.html +++ b/examples/scenegraph-image/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/scenegraph/index.html b/examples/scenegraph/index.html index 7ced77125d..dfdc4289af 100644 --- a/examples/scenegraph/index.html +++ b/examples/scenegraph/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-canvas2d/index.html b/examples/shader-ast-canvas2d/index.html index 61d3636434..6ec14bc688 100644 --- a/examples/shader-ast-canvas2d/index.html +++ b/examples/shader-ast-canvas2d/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-evo/index.html b/examples/shader-ast-evo/index.html index ba9908e337..b4ef694a9d 100644 --- a/examples/shader-ast-evo/index.html +++ b/examples/shader-ast-evo/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-noise/index.html b/examples/shader-ast-noise/index.html index 5ece16dd43..f6ef5a8622 100644 --- a/examples/shader-ast-noise/index.html +++ b/examples/shader-ast-noise/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-raymarch/index.html b/examples/shader-ast-raymarch/index.html index ae556abc71..d593fda01b 100644 --- a/examples/shader-ast-raymarch/index.html +++ b/examples/shader-ast-raymarch/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-sdf2d/index.html b/examples/shader-ast-sdf2d/index.html index b5a63557fc..f1b51a8b62 100644 --- a/examples/shader-ast-sdf2d/index.html +++ b/examples/shader-ast-sdf2d/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-tunnel/index.html b/examples/shader-ast-tunnel/index.html index c2f21db4db..0ca8738407 100644 --- a/examples/shader-ast-tunnel/index.html +++ b/examples/shader-ast-tunnel/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-ast-workers/index.html b/examples/shader-ast-workers/index.html index 846e3eae66..afbcab791d 100644 --- a/examples/shader-ast-workers/index.html +++ b/examples/shader-ast-workers/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/shader-graph/index.html b/examples/shader-graph/index.html index a5caa6005b..531c4aed92 100644 --- a/examples/shader-graph/index.html +++ b/examples/shader-graph/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/soa-ecs/index.html b/examples/soa-ecs/index.html index 8d638d95f8..338e65c055 100644 --- a/examples/soa-ecs/index.html +++ b/examples/soa-ecs/index.html @@ -11,6 +11,12 @@ /> +
diff --git a/examples/stratified-grid/index.html b/examples/stratified-grid/index.html index c1927c0f82..4b48c9a2c9 100644 --- a/examples/stratified-grid/index.html +++ b/examples/stratified-grid/index.html @@ -1,17 +1,31 @@ - - - - - stratified-grid - - - - -
- - - + + + + + stratified-grid + + + + + +
+ + + diff --git a/examples/svg-barchart/index.html b/examples/svg-barchart/index.html index 2f4bd05ffa..cf854a580e 100644 --- a/examples/svg-barchart/index.html +++ b/examples/svg-barchart/index.html @@ -1,19 +1,25 @@ + + + + + svg-barchart + + + + - - - - - svg-barchart - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/svg-particles/index.html b/examples/svg-particles/index.html index e9881ddd0e..b837167c3e 100644 --- a/examples/svg-particles/index.html +++ b/examples/svg-particles/index.html @@ -21,6 +21,12 @@ z-index: 1; } + @@ -32,6 +38,6 @@ >@thi.ng/hdom. - + diff --git a/examples/svg-waveform/index.html b/examples/svg-waveform/index.html index a2d062c13a..30f6940d7b 100644 --- a/examples/svg-waveform/index.html +++ b/examples/svg-waveform/index.html @@ -1,26 +1,33 @@ + + + + + svg-waveform + + + + - *::selection { - background: none; - } - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/talk-slides/index.html b/examples/talk-slides/index.html index 47ff67d219..6bfce86771 100644 --- a/examples/talk-slides/index.html +++ b/examples/talk-slides/index.html @@ -1,40 +1,47 @@ - - - - - - talk-slides - - - - - -
- - + @media print { + @page { + size: 8.5in 4.8in; + size: landscape; + } + .noprint { + display: none; + } + .slide { + page-break-after: always; + } + } + + + - \ No newline at end of file + +
+ + + diff --git a/examples/text-canvas/index.html b/examples/text-canvas/index.html index 6c91c1282c..4f3842fad1 100644 --- a/examples/text-canvas/index.html +++ b/examples/text-canvas/index.html @@ -21,6 +21,12 @@ line-height: 1; } +

diff --git a/examples/todo-list/index.html b/examples/todo-list/index.html
index ba636e797e..6081291ecc 100644
--- a/examples/todo-list/index.html
+++ b/examples/todo-list/index.html
@@ -1,79 +1,83 @@
 
 
+    
+        
+        
+        
+        todo-list
+        
+        
+    
 
-        a:link,
-        a:visited {
-            color: #000;
-        }
-    
-
-
-
-    
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/transducers-hdom/index.html b/examples/transducers-hdom/index.html index c0f53f7032..3e13f4989a 100644 --- a/examples/transducers-hdom/index.html +++ b/examples/transducers-hdom/index.html @@ -1,19 +1,25 @@ + + + + + transducers-hdom + + + + - - - - - transducers-hdom - - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/triple-query/index.html b/examples/triple-query/index.html index ba3e739f07..347a36db78 100644 --- a/examples/triple-query/index.html +++ b/examples/triple-query/index.html @@ -1,26 +1,33 @@ + + + + + triple-query + + + + - .noselect::selection { - background: none; - } - - - - -
- - - - \ No newline at end of file + +
+ + + diff --git a/examples/webgl-cube/index.html b/examples/webgl-cube/index.html index 2ea509eac2..350f891bb3 100644 --- a/examples/webgl-cube/index.html +++ b/examples/webgl-cube/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/webgl-cubemap/index.html b/examples/webgl-cubemap/index.html index 20e1385a0f..8874e871d3 100644 --- a/examples/webgl-cubemap/index.html +++ b/examples/webgl-cubemap/index.html @@ -1,16 +1,24 @@ - - - - - webgl-cubemap - - - - -
- - + + + + + webgl-cubemap + + + + + +
+ + diff --git a/examples/webgl-grid/index.html b/examples/webgl-grid/index.html index 2f3752a5e5..87c373b498 100644 --- a/examples/webgl-grid/index.html +++ b/examples/webgl-grid/index.html @@ -10,6 +10,12 @@ rel="stylesheet" /> +
diff --git a/examples/webgl-msdf/index.html b/examples/webgl-msdf/index.html index a03267553b..3c15eac8e6 100644 --- a/examples/webgl-msdf/index.html +++ b/examples/webgl-msdf/index.html @@ -1,16 +1,24 @@ - - - - - webgl-msdf - - - - -
- - + + + + + webgl-msdf + + + + + +
+ + diff --git a/examples/webgl-multipass/index.html b/examples/webgl-multipass/index.html index 4746f103f8..dc13ab9a23 100644 --- a/examples/webgl-multipass/index.html +++ b/examples/webgl-multipass/index.html @@ -1,16 +1,24 @@ - - - - - webgl-multipass - - - - -
- - + + + + + webgl-multipass + + + + + +
+ + diff --git a/examples/webgl-shadertoy/index.html b/examples/webgl-shadertoy/index.html index 6bc7487bee..a9699d68b0 100644 --- a/examples/webgl-shadertoy/index.html +++ b/examples/webgl-shadertoy/index.html @@ -14,8 +14,14 @@ text-shadow: 2px 2px #000; } + - +
Hold down mouse button to change color theme
diff --git a/examples/webgl-ssao/index.html b/examples/webgl-ssao/index.html index 636ce24dba..338fe3f2dc 100644 --- a/examples/webgl-ssao/index.html +++ b/examples/webgl-ssao/index.html @@ -1,16 +1,24 @@ - - - - - webgl-deferred - - - - -
- - + + + + + webgl-ssao + + + + + +
+ + diff --git a/examples/wolfram/index.html b/examples/wolfram/index.html index d972fd0273..2680ebb431 100644 --- a/examples/wolfram/index.html +++ b/examples/wolfram/index.html @@ -1,16 +1,24 @@ - - - - - wolfram - - - - -
- - + + + + + wolfram + + + + + +
+ + diff --git a/examples/xml-converter/index.html b/examples/xml-converter/index.html index 0758e03245..0c6a5de475 100644 --- a/examples/xml-converter/index.html +++ b/examples/xml-converter/index.html @@ -9,6 +9,12 @@ href="https://unpkg.com/tachyons@4/css/tachyons.min.css" rel="stylesheet" /> + From 51d5e1ce3c3ae10220abe706d652326e917eed9d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 22:20:10 +0100 Subject: [PATCH 04/15] refactor(examples): update imports, minor updates/fixes --- examples/adaptive-threshold/src/api.ts | 2 +- examples/adaptive-threshold/src/events.ts | 8 ++++---- examples/async-effect/src/index.ts | 2 +- examples/canvas-dial/src/dial.ts | 2 +- .../src/common/components/commit-link.ts | 2 +- .../src/common/components/repo-table.ts | 2 +- examples/commit-table-ssr/src/server/build-table.ts | 2 +- examples/commit-table-ssr/src/server/html.ts | 4 ++-- examples/commit-table-ssr/src/server/index.ts | 9 ++++++--- examples/devcards/src/index.ts | 4 ++-- examples/fft-synth/src/audio.ts | 2 +- examples/geom-convex-hull/src/index.ts | 4 ++-- examples/geom-tessel/src/index.ts | 2 +- examples/hdom-dropdown-fuzzy/src/dropdown.ts | 10 +++++----- examples/hdom-dropdown-fuzzy/src/fuzzy.ts | 5 +++-- examples/hdom-dropdown-fuzzy/src/index.ts | 3 +-- examples/hdom-dropdown/src/dropdown.ts | 8 ++++---- examples/hdom-elm/src/elm.ts | 2 +- examples/hdom-theme-adr-0003/src/index.ts | 2 +- examples/hdom-vscroller/src/vscroller.ts | 2 +- examples/hiccup-canvas-arcs/src/index.ts | 8 ++++---- examples/hydrate-basics/src/index.ts | 2 +- examples/imgui-basics/src/index.ts | 6 ++++++ examples/interceptor-basics2/src/index.ts | 6 +++--- examples/iso-plasma/src/index.ts | 2 +- examples/package-stats/src/size-chart.ts | 4 ++-- examples/parse-playground/src/index.ts | 2 +- examples/pixel-basics/src/index.ts | 2 +- examples/pointfree-svg/src/index.ts | 5 ++--- examples/ramp-synth/src/components.ts | 2 +- examples/rdom-dnd/src/index.ts | 2 +- examples/rdom-dnd/src/notification.ts | 2 +- examples/rdom-search-docs/src/pagination.ts | 2 +- examples/rdom-search-docs/src/search.ts | 2 +- examples/router-basics/src/api.ts | 2 +- examples/router-basics/src/app.ts | 4 ++-- examples/router-basics/src/components/contact.ts | 2 +- .../router-basics/src/components/debug-container.ts | 2 +- examples/router-basics/src/components/home.ts | 2 +- examples/router-basics/src/components/nav.ts | 2 +- examples/router-basics/src/components/route-link.ts | 2 +- examples/router-basics/src/config.ts | 2 +- examples/router-basics/src/routes.ts | 2 +- examples/rstream-event-loop/src/events.ts | 2 +- examples/rstream-grid/src/api.ts | 2 +- examples/rstream-grid/src/app.ts | 4 ++-- examples/rstream-grid/src/components/button-group.ts | 2 +- examples/rstream-grid/src/components/button.ts | 2 +- examples/rstream-grid/src/components/main.ts | 2 +- examples/rstream-grid/src/components/sidebar.ts | 2 +- examples/rstream-grid/src/config.ts | 2 +- examples/rstream-spreadsheet/src/dsl.ts | 2 +- examples/rstream-spreadsheet/src/state.ts | 6 +++--- examples/scenegraph-image/src/index.ts | 2 +- examples/scenegraph/src/index.ts | 2 +- examples/shader-graph/src/api.ts | 4 ++-- examples/svg-waveform/src/api.ts | 2 +- examples/svg-waveform/src/app.ts | 4 ++-- examples/svg-waveform/src/components/button-group.ts | 2 +- examples/svg-waveform/src/components/button.ts | 2 +- examples/svg-waveform/src/components/main.ts | 2 +- examples/svg-waveform/src/components/sidebar.ts | 2 +- examples/svg-waveform/src/events.ts | 2 +- examples/todo-list/src/index.ts | 7 +++++-- examples/triple-query/src/api.ts | 6 +++--- examples/triple-query/src/app.ts | 6 +++--- examples/triple-query/src/components/button-group.ts | 2 +- examples/triple-query/src/components/button.ts | 2 +- examples/triple-query/src/components/main.ts | 2 +- examples/triple-query/src/components/query-results.ts | 2 +- examples/triple-query/src/components/triple-table.ts | 2 +- examples/triple-query/src/config.ts | 2 +- examples/triple-query/src/handlers.ts | 10 +++++----- 73 files changed, 123 insertions(+), 112 deletions(-) diff --git a/examples/adaptive-threshold/src/api.ts b/examples/adaptive-threshold/src/api.ts index b26c8eb06e..c8bd70dfe2 100644 --- a/examples/adaptive-threshold/src/api.ts +++ b/examples/adaptive-threshold/src/api.ts @@ -1,5 +1,5 @@ -import { PackedBuffer } from "@thi.ng/pixel"; import type { Val1 } from "@thi.ng/api"; +import { PackedBuffer } from "@thi.ng/pixel"; // event ID constants export const SET_IMAGE = "set-image"; diff --git a/examples/adaptive-threshold/src/events.ts b/examples/adaptive-threshold/src/events.ts index cfd325b0fa..979818f3de 100644 --- a/examples/adaptive-threshold/src/events.ts +++ b/examples/adaptive-threshold/src/events.ts @@ -1,8 +1,8 @@ +import type { Fn } from "@thi.ng/api"; import { setIn } from "@thi.ng/paths"; import { GRAY8, PackedBuffer } from "@thi.ng/pixel"; import { ISubscriber, pubsub, stream, trace } from "@thi.ng/rstream"; -import { state } from "./state"; -import { adaptiveThreshold } from "./threshold"; +import type { Transducer } from "@thi.ng/transducers"; import { Event, EventType, @@ -12,8 +12,8 @@ import { SET_KERNEL_WIDTH, UPDATE_IMAGE, } from "./api"; -import type { Fn } from "@thi.ng/api"; -import type { Transducer } from "@thi.ng/transducers"; +import { state } from "./state"; +import { adaptiveThreshold } from "./threshold"; /** * Event input stream (not exported) diff --git a/examples/async-effect/src/index.ts b/examples/async-effect/src/index.ts index ffc4eabdfe..ae4cadc1a4 100644 --- a/examples/async-effect/src/index.ts +++ b/examples/async-effect/src/index.ts @@ -1,3 +1,4 @@ +import type { IObjectOf } from "@thi.ng/api"; import { start } from "@thi.ng/hdom"; import { EffectDef, @@ -7,7 +8,6 @@ import { FX_DISPATCH_NOW, valueSetter, } from "@thi.ng/interceptors"; -import type { IObjectOf } from "@thi.ng/api"; // best practice tip: // define event & effect names as consts or enums and diff --git a/examples/canvas-dial/src/dial.ts b/examples/canvas-dial/src/dial.ts index 54ef50f5e7..f14d776e0c 100644 --- a/examples/canvas-dial/src/dial.ts +++ b/examples/canvas-dial/src/dial.ts @@ -1,3 +1,4 @@ +import type { Fn } from "@thi.ng/api"; import { peek } from "@thi.ng/arrays"; import { isString } from "@thi.ng/checks"; import { canvas2D } from "@thi.ng/hdom-components"; @@ -9,7 +10,6 @@ import { GestureType, } from "@thi.ng/rstream-gestures"; import { heading, sub2 } from "@thi.ng/vectors"; -import type { Fn } from "@thi.ng/api"; /** * Dial component options. diff --git a/examples/commit-table-ssr/src/common/components/commit-link.ts b/examples/commit-table-ssr/src/common/components/commit-link.ts index 63c67353e4..21686ebb98 100644 --- a/examples/commit-table-ssr/src/common/components/commit-link.ts +++ b/examples/commit-table-ssr/src/common/components/commit-link.ts @@ -1,5 +1,5 @@ -import { link } from "./link"; import type { AppContext } from "../api"; +import { link } from "./link"; /** * Link component which links to given SHA commit hash using the diff --git a/examples/commit-table-ssr/src/common/components/repo-table.ts b/examples/commit-table-ssr/src/common/components/repo-table.ts index a7523a5030..4e2762b170 100644 --- a/examples/commit-table-ssr/src/common/components/repo-table.ts +++ b/examples/commit-table-ssr/src/common/components/repo-table.ts @@ -6,9 +6,9 @@ import { partitionBy, repeat, } from "@thi.ng/transducers"; +import type { AppContext, Commit } from "../api"; import { commitLink } from "./commit-link"; import { table } from "./table"; -import type { AppContext, Commit } from "../api"; /** * Git commit log table component. Consumes iterable of `Commit` objects diff --git a/examples/commit-table-ssr/src/server/build-table.ts b/examples/commit-table-ssr/src/server/build-table.ts index 5595478370..85be2290be 100644 --- a/examples/commit-table-ssr/src/server/build-table.ts +++ b/examples/commit-table-ssr/src/server/build-table.ts @@ -1,8 +1,8 @@ +import type { Commit } from "../common/api"; import { header } from "../common/components/header"; import { repoTable } from "../common/components/repo-table"; import { ctx } from "../common/config"; import { html } from "./html"; -import type { Commit } from "../common/api"; /** * Shared function used by both the server and for static file diff --git a/examples/commit-table-ssr/src/server/html.ts b/examples/commit-table-ssr/src/server/html.ts index db2721f50c..6580e21272 100644 --- a/examples/commit-table-ssr/src/server/html.ts +++ b/examples/commit-table-ssr/src/server/html.ts @@ -1,9 +1,9 @@ +import type { Nullable } from "@thi.ng/api"; import { mergeDeepObj } from "@thi.ng/associative"; import { serialize } from "@thi.ng/hiccup"; import { map } from "@thi.ng/transducers"; -import { DEFAULT_DOC } from "../common/config"; -import type { Nullable } from "@thi.ng/api"; import type { AppContext, HTMLDoc } from "../common/api"; +import { DEFAULT_DOC } from "../common/config"; /** * Takes a `HTMLDoc` object and serializes it into an HTML5 string. The diff --git a/examples/commit-table-ssr/src/server/index.ts b/examples/commit-table-ssr/src/server/index.ts index 0601bcc93d..d8b4e98674 100644 --- a/examples/commit-table-ssr/src/server/index.ts +++ b/examples/commit-table-ssr/src/server/index.ts @@ -1,17 +1,20 @@ import { TLRUCache } from "@thi.ng/cache"; import * as express from "express"; import * as fs from "fs"; +// @ts-ignore import * as Bundler from "parcel-bundler"; +import type { Commit } from "../common/api"; import { ctx } from "../common/config"; import { buildRepoTableHTML } from "./build-table"; import { repoCommits } from "./git"; -import type { Commit } from "../common/api"; // building the repo commit table takes quite some time // therefore we cache results with 1h expiry time // (which is also the default) -const rawCache = new TLRUCache(null, { ttl: 60 * 60 * 1000 }); -const htmlCache = new TLRUCache(null, { ttl: 60 * 60 * 1000 }); +// prettier-ignore +const rawCache = new TLRUCache(undefined, { ttl: 60 * 60 * 1000 }); +// prettier-ignore +const htmlCache = new TLRUCache(undefined, { ttl: 60 * 60 * 1000 }); const bundler = new Bundler("index.html", { outDir: "./out", diff --git a/examples/devcards/src/index.ts b/examples/devcards/src/index.ts index dbcdb94fb5..689f94b294 100644 --- a/examples/devcards/src/index.ts +++ b/examples/devcards/src/index.ts @@ -1,7 +1,7 @@ -import { defAtom, defCursor, defView } from "@thi.ng/atom"; -import { start } from "@thi.ng/hdom"; import type { Fn, IObjectOf } from "@thi.ng/api"; +import { defAtom, defCursor, defView } from "@thi.ng/atom"; import type { IAtom } from "@thi.ng/atom"; +import { start } from "@thi.ng/hdom"; type CardFn = (state: IAtom) => any; diff --git a/examples/fft-synth/src/audio.ts b/examples/fft-synth/src/audio.ts index 5d670698ca..d71bf68802 100644 --- a/examples/fft-synth/src/audio.ts +++ b/examples/fft-synth/src/audio.ts @@ -1,7 +1,7 @@ +import type { NumericArray } from "@thi.ng/api"; import { conjugate, Delay, ifft } from "@thi.ng/dsp"; import { BIN_AMP, NUM_BINS, PITCH_SCALE } from "./config"; import { DB } from "./state"; -import type { NumericArray } from "@thi.ng/api"; export const makeBins = () => new Array(NUM_BINS).fill(0); diff --git a/examples/geom-convex-hull/src/index.ts b/examples/geom-convex-hull/src/index.ts index 18f445b7d2..3461188b14 100644 --- a/examples/geom-convex-hull/src/index.ts +++ b/examples/geom-convex-hull/src/index.ts @@ -9,9 +9,9 @@ import { scatter, withAttribs, } from "@thi.ng/geom"; +import type { IShape } from "@thi.ng/geom-api"; import { renderOnce } from "@thi.ng/hdom"; import { canvas } from "@thi.ng/hdom-canvas"; -import type { IShape } from "@thi.ng/geom-api"; // refactored version of an example by Pete Cory // http://www.petecorey.com/blog/2019/07/29/clipping-convex-hulls-with-thing/ @@ -30,7 +30,7 @@ const hull1 = convexHull(polygon(pts1)); const hull2 = convexHull(polygon(pts2)); // Sutherland-Hodgman -const clip = clipConvex(hull1, hull2); +const clip = clipConvex(hull1, hull2)!; const COL1 = (a: number) => `rgba(245,93,62,${a})`; const COL2 = (a: number) => `rgba(118,190,208,${a})`; diff --git a/examples/geom-tessel/src/index.ts b/examples/geom-tessel/src/index.ts index 9c3614a7fd..e466fc03be 100644 --- a/examples/geom-tessel/src/index.ts +++ b/examples/geom-tessel/src/index.ts @@ -8,6 +8,7 @@ import { polygon, tessellate, } from "@thi.ng/geom"; +import type { IShape, Tessellator } from "@thi.ng/geom-api"; import { edgeSplit, quadFan, triFan } from "@thi.ng/geom-tessellate"; import { canvas } from "@thi.ng/hdom-canvas"; import { deg, fit01, fit11 } from "@thi.ng/math"; @@ -15,7 +16,6 @@ import { fromInterval, sync } from "@thi.ng/rstream"; import { map } from "@thi.ng/transducers"; import { updateDOM } from "@thi.ng/transducers-hdom"; import { polar, Vec } from "@thi.ng/vectors"; -import type { IShape, Tessellator } from "@thi.ng/geom-api"; type Tint = (p: Polygon) => string; diff --git a/examples/hdom-dropdown-fuzzy/src/dropdown.ts b/examples/hdom-dropdown-fuzzy/src/dropdown.ts index cd0833e339..5bb2ec8ae4 100644 --- a/examples/hdom-dropdown-fuzzy/src/dropdown.ts +++ b/examples/hdom-dropdown-fuzzy/src/dropdown.ts @@ -1,9 +1,9 @@ +import type { Fn, IObjectOf, NumOrString, Path } from "@thi.ng/api"; +import type { ReadonlyAtom } from "@thi.ng/atom"; import { isString } from "@thi.ng/checks"; import { appLink } from "@thi.ng/hdom-components"; -import { EV_SET_VALUE, EV_TOGGLE_VALUE, EventBus } from "@thi.ng/interceptors"; +import { EventBus, EV_SET_VALUE, EV_TOGGLE_VALUE } from "@thi.ng/interceptors"; import { getInUnsafe } from "@thi.ng/paths"; -import type { Fn, IObjectOf, Path } from "@thi.ng/api"; -import type { ReadonlyAtom } from "@thi.ng/atom"; export interface BaseContext { bus: EventBus; @@ -43,7 +43,7 @@ export interface DropdownTheme { export function dropdown(themeCtxPath: Path) { return (ctx: any, opts: Partial) => { - const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath); + const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath)!; const state = opts.statePath ? getInUnsafe(ctx, opts.statePath) : opts.state; @@ -99,7 +99,7 @@ export function dropdown(themeCtxPath: Path) { export const dropdownListeners = ( ctx: BaseContext, - basePath: PropertyKey[] + basePath: NumOrString[] ) => ({ onmouseover: () => ctx.bus.dispatch([EV_SET_VALUE, [[...basePath, "hover"], true]]), diff --git a/examples/hdom-dropdown-fuzzy/src/fuzzy.ts b/examples/hdom-dropdown-fuzzy/src/fuzzy.ts index aa5cc6b8ea..ba7bb49ff8 100644 --- a/examples/hdom-dropdown-fuzzy/src/fuzzy.ts +++ b/examples/hdom-dropdown-fuzzy/src/fuzzy.ts @@ -1,7 +1,8 @@ +import type { IView } from "@thi.ng/atom"; import { EV_SET_VALUE } from "@thi.ng/interceptors"; +import { toPath } from "@thi.ng/paths"; import { comp, filterFuzzy, iterator, map } from "@thi.ng/transducers"; import { DropdownItem, dropdownListeners, DropdownState } from "./dropdown"; -import type { IView } from "@thi.ng/atom"; export interface FuzzyArgs { state: IView; @@ -60,7 +61,7 @@ export const fuzzyDropdown = (ctx: any, opts: FuzzyArgs) => { return [ opts.dropdown, { - ...dropdownListeners(ctx, opts.state.path), + ...dropdownListeners(ctx, toPath(opts.state.path)), openLabel: filterInput, hoverLabel: opts.hoverLabel, noItems: "no matches", diff --git a/examples/hdom-dropdown-fuzzy/src/index.ts b/examples/hdom-dropdown-fuzzy/src/index.ts index e6ac6d9cda..fa5d95ab79 100644 --- a/examples/hdom-dropdown-fuzzy/src/index.ts +++ b/examples/hdom-dropdown-fuzzy/src/index.ts @@ -1,7 +1,6 @@ import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; -import { EventBus } from "@thi.ng/interceptors"; -import { trace } from "@thi.ng/interceptors"; +import { EventBus, trace } from "@thi.ng/interceptors"; import { state, theme } from "./config"; import { dropdown } from "./dropdown"; import { fuzzyDropdown } from "./fuzzy"; diff --git a/examples/hdom-dropdown/src/dropdown.ts b/examples/hdom-dropdown/src/dropdown.ts index 5a800756c8..832615a754 100644 --- a/examples/hdom-dropdown/src/dropdown.ts +++ b/examples/hdom-dropdown/src/dropdown.ts @@ -1,8 +1,8 @@ -import { appLink } from "@thi.ng/hdom-components"; -import { EV_SET_VALUE, EV_TOGGLE_VALUE, EventBus } from "@thi.ng/interceptors"; -import { getInUnsafe } from "@thi.ng/paths"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { ReadonlyAtom } from "@thi.ng/atom"; +import { appLink } from "@thi.ng/hdom-components"; +import { EventBus, EV_SET_VALUE, EV_TOGGLE_VALUE } from "@thi.ng/interceptors"; +import { getInUnsafe } from "@thi.ng/paths"; export interface BaseContext { bus: EventBus; @@ -37,7 +37,7 @@ export interface DropdownTheme { export function dropdown(themeCtxPath: Path) { return (ctx: any, opts: Partial) => { - const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath); + const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath)!; const state = opts.statePath ? getInUnsafe(ctx, opts.statePath) : opts.state; diff --git a/examples/hdom-elm/src/elm.ts b/examples/hdom-elm/src/elm.ts index 89606dd2c1..ce39a0f026 100644 --- a/examples/hdom-elm/src/elm.ts +++ b/examples/hdom-elm/src/elm.ts @@ -1,3 +1,4 @@ +import type { Fn, Fn2 } from "@thi.ng/api"; import { DEFAULT_IMPL, HDOMImplementation, @@ -5,7 +6,6 @@ import { resolveRoot, } from "@thi.ng/hdom"; import { derefContext } from "@thi.ng/hiccup"; -import type { Fn, Fn2 } from "@thi.ng/api"; import type { Event, Signal } from "./api"; export const mount = ( diff --git a/examples/hdom-theme-adr-0003/src/index.ts b/examples/hdom-theme-adr-0003/src/index.ts index e2bf80c10b..53eb1c1084 100644 --- a/examples/hdom-theme-adr-0003/src/index.ts +++ b/examples/hdom-theme-adr-0003/src/index.ts @@ -1,6 +1,6 @@ +import type { IObjectOf, Path } from "@thi.ng/api"; import { start } from "@thi.ng/hdom"; import { getInUnsafe } from "@thi.ng/paths"; -import type { IObjectOf, Path } from "@thi.ng/api"; interface ButtonBehavior { /** diff --git a/examples/hdom-vscroller/src/vscroller.ts b/examples/hdom-vscroller/src/vscroller.ts index 089e11abc1..9e5cf902f0 100644 --- a/examples/hdom-vscroller/src/vscroller.ts +++ b/examples/hdom-vscroller/src/vscroller.ts @@ -1,4 +1,4 @@ -import { Fn2 } from "@thi.ng/api"; +import type { Fn2 } from "@thi.ng/api"; import { comp, drop, iterator, take } from "@thi.ng/transducers"; interface VScrollOpts { diff --git a/examples/hiccup-canvas-arcs/src/index.ts b/examples/hiccup-canvas-arcs/src/index.ts index 036ca0f28b..2dc266fbc2 100644 --- a/examples/hiccup-canvas-arcs/src/index.ts +++ b/examples/hiccup-canvas-arcs/src/index.ts @@ -1,15 +1,15 @@ +import { hsla } from "@thi.ng/color"; import { arc, asCubic, + closestPoint, group, pathFromCubics, - closestPoint, } from "@thi.ng/geom"; import { draw } from "@thi.ng/hiccup-canvas"; -import { hsla } from "@thi.ng/color"; -import { SYSTEM } from "@thi.ng/random"; import { fit01, TAU } from "@thi.ng/math"; -import { fromRAF, fromDOMEvent } from "@thi.ng/rstream"; +import { SYSTEM } from "@thi.ng/random"; +import { fromDOMEvent, fromRAF } from "@thi.ng/rstream"; import { map, normRange } from "@thi.ng/transducers"; import { dist } from "@thi.ng/vectors"; diff --git a/examples/hydrate-basics/src/index.ts b/examples/hydrate-basics/src/index.ts index b4603aa323..454c8663b4 100644 --- a/examples/hydrate-basics/src/index.ts +++ b/examples/hydrate-basics/src/index.ts @@ -1,8 +1,8 @@ +import type { IDeref } from "@thi.ng/api"; import { Atom } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { canvas2D, dropdown } from "@thi.ng/hdom-components"; import { serialize } from "@thi.ng/hiccup"; -import type { IDeref } from "@thi.ng/api"; // basic state container const state = new Atom({ diff --git a/examples/imgui-basics/src/index.ts b/examples/imgui-basics/src/index.ts index 46bc53dc54..09ba505b4b 100644 --- a/examples/imgui-basics/src/index.ts +++ b/examples/imgui-basics/src/index.ts @@ -63,6 +63,12 @@ const PRESETS = [ const volume = reactive(55); // interpolated version of volume +// note: this interpolation is entirely optional. also, the UX for this +// can/should be improved to avoid jittering when the user just briefly clicks +// anywhere on the related slider widget without any further dragging. in that +// case, there should be an additional value/flag to indicate if interpolation +// is desired or not. multiple ways to achieve that, but out of scope for this +// small example... const smoothedVolume = tweenNumber(volume, 0, 0.2); // derived view for slider label diff --git a/examples/interceptor-basics2/src/index.ts b/examples/interceptor-basics2/src/index.ts index fdcff2a02b..c777dac247 100644 --- a/examples/interceptor-basics2/src/index.ts +++ b/examples/interceptor-basics2/src/index.ts @@ -1,19 +1,19 @@ +import type { IObjectOf, Path } from "@thi.ng/api"; import { defView, defViewUnsafe } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { EffectDef, ensureStateGreaterThan, ensureStateLessThan, - EV_SET_VALUE, - EV_UPDATE_VALUE, Event, EventBus, EventDef, + EV_SET_VALUE, + EV_UPDATE_VALUE, FX_DISPATCH_NOW, IDispatch, trace, } from "@thi.ng/interceptors"; -import type { IObjectOf, Path } from "@thi.ng/api"; /////////////////////////////////////////////////////////////////////// // event name and handler definitions diff --git a/examples/iso-plasma/src/index.ts b/examples/iso-plasma/src/index.ts index fced25d15f..c9a438d66a 100644 --- a/examples/iso-plasma/src/index.ts +++ b/examples/iso-plasma/src/index.ts @@ -1,3 +1,4 @@ +import type { Fn } from "@thi.ng/api"; import { polygon } from "@thi.ng/geom"; import { isolines, setBorder } from "@thi.ng/geom-isoline"; import { start } from "@thi.ng/hdom"; @@ -12,7 +13,6 @@ import { range, range2d, } from "@thi.ng/transducers"; -import type { Fn } from "@thi.ng/api"; import type { Vec } from "@thi.ng/vectors"; const W = 100; diff --git a/examples/package-stats/src/size-chart.ts b/examples/package-stats/src/size-chart.ts index bdf2ba99ed..4b1d7a9ea7 100644 --- a/examples/package-stats/src/size-chart.ts +++ b/examples/package-stats/src/size-chart.ts @@ -2,8 +2,6 @@ import { serialize } from "@thi.ng/hiccup"; import { group, text } from "@thi.ng/hiccup-svg"; import { defGetterUnsafe } from "@thi.ng/paths"; import { bytes } from "@thi.ng/strings"; -import * as fs from "fs"; -import { barChart, labeledTickX, labeledTickY } from "./viz"; import { comp, filter, @@ -14,6 +12,8 @@ import { push, transduce, } from "@thi.ng/transducers"; +import * as fs from "fs"; +import { barChart, labeledTickX, labeledTickY } from "./viz"; const BASE_DIR = "../../packages/"; diff --git a/examples/parse-playground/src/index.ts b/examples/parse-playground/src/index.ts index b6fe135e98..4ec039bcad 100644 --- a/examples/parse-playground/src/index.ts +++ b/examples/parse-playground/src/index.ts @@ -1,4 +1,4 @@ -import { Nullable } from "@thi.ng/api"; +import type { Nullable } from "@thi.ng/api"; import { timedResult } from "@thi.ng/bench"; import { downloadWithMime } from "@thi.ng/dl-asset"; import { DOWNLOAD, withSize } from "@thi.ng/hiccup-carbon-icons"; diff --git a/examples/pixel-basics/src/index.ts b/examples/pixel-basics/src/index.ts index 800840742d..b6c7849cf4 100644 --- a/examples/pixel-basics/src/index.ts +++ b/examples/pixel-basics/src/index.ts @@ -1,7 +1,7 @@ import { canvas2d, - GRAY_ALPHA8, GRAY8, + GRAY_ALPHA8, imagePromise, PackedBuffer, RGB565, diff --git a/examples/pointfree-svg/src/index.ts b/examples/pointfree-svg/src/index.ts index f2f9a05d24..78745c8c7b 100644 --- a/examples/pointfree-svg/src/index.ts +++ b/examples/pointfree-svg/src/index.ts @@ -2,8 +2,7 @@ import { serialize } from "@thi.ng/hiccup"; import * as svg from "@thi.ng/hiccup-svg"; import { ensureStack, maptos } from "@thi.ng/pointfree"; import { ffi, run } from "@thi.ng/pointfree-lang"; - -import * as fs from "fs"; +import { writeFileSync } from "fs"; // rudimentary generic graphics lib & helper words const libsrc = ` @@ -90,7 +89,7 @@ const env = ffi( "write-file": (ctx) => { const stack = ctx[0]; ensureStack(stack, 2); - fs.writeFileSync(stack.pop(), stack.pop()); + writeFileSync(stack.pop(), stack.pop()); return ctx; }, } diff --git a/examples/ramp-synth/src/components.ts b/examples/ramp-synth/src/components.ts index bf3e7fa8f7..a4ca45f3e7 100644 --- a/examples/ramp-synth/src/components.ts +++ b/examples/ramp-synth/src/components.ts @@ -1,6 +1,6 @@ import { peek } from "@thi.ng/arrays"; -import { map } from "@thi.ng/transducers"; import type { IRamp } from "@thi.ng/ramp"; +import { map } from "@thi.ng/transducers"; const tick = (x: number) => [ "polygon", diff --git a/examples/rdom-dnd/src/index.ts b/examples/rdom-dnd/src/index.ts index e8d7f0c83a..974337ce2f 100644 --- a/examples/rdom-dnd/src/index.ts +++ b/examples/rdom-dnd/src/index.ts @@ -1,7 +1,7 @@ import { ADD_OUTLINE, CLOSE_OUTLINE, - withSize + withSize, } from "@thi.ng/hiccup-carbon-icons"; import { div } from "@thi.ng/hiccup-html"; import { $compile } from "@thi.ng/rdom"; diff --git a/examples/rdom-dnd/src/notification.ts b/examples/rdom-dnd/src/notification.ts index d8b0bd035c..7beb9fea14 100644 --- a/examples/rdom-dnd/src/notification.ts +++ b/examples/rdom-dnd/src/notification.ts @@ -2,7 +2,7 @@ import { CHECKMARK_SOLID, INFO, WARNING, - withSize + withSize, } from "@thi.ng/hiccup-carbon-icons"; import { div, span } from "@thi.ng/hiccup-html"; import { Component, NumOrElement } from "@thi.ng/rdom"; diff --git a/examples/rdom-search-docs/src/pagination.ts b/examples/rdom-search-docs/src/pagination.ts index 59537cc039..199219572d 100644 --- a/examples/rdom-search-docs/src/pagination.ts +++ b/examples/rdom-search-docs/src/pagination.ts @@ -1,4 +1,4 @@ -import { IRelease } from "@thi.ng/api"; +import type { IRelease } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import { button, div } from "@thi.ng/hiccup-html"; import { clamp } from "@thi.ng/math"; diff --git a/examples/rdom-search-docs/src/search.ts b/examples/rdom-search-docs/src/search.ts index babd7474b2..17ba5aa29f 100644 --- a/examples/rdom-search-docs/src/search.ts +++ b/examples/rdom-search-docs/src/search.ts @@ -1,4 +1,4 @@ -import { IObjectOf } from "@thi.ng/api"; +import type { IObjectOf } from "@thi.ng/api"; import { compareByKeys2 } from "@thi.ng/compare"; export type PackedTrie = [IObjectOf, number[]?]; diff --git a/examples/router-basics/src/api.ts b/examples/router-basics/src/api.ts index c26ace0ba3..382e574bc9 100644 --- a/examples/router-basics/src/api.ts +++ b/examples/router-basics/src/api.ts @@ -1,6 +1,6 @@ -import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { IView } from "@thi.ng/atom"; +import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; import type { HTMLRouterConfig, RouteMatch } from "@thi.ng/router"; // general types defined for the base app diff --git a/examples/router-basics/src/app.ts b/examples/router-basics/src/app.ts index c659e4c630..e6cddd7de3 100644 --- a/examples/router-basics/src/app.ts +++ b/examples/router-basics/src/app.ts @@ -1,14 +1,14 @@ +import type { IObjectOf } from "@thi.ng/api"; import { Atom, defViewUnsafe } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus, trace, valueSetter } from "@thi.ng/interceptors"; import { EVENT_ROUTE_CHANGED, HTMLRouter } from "@thi.ng/router"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; import { debugContainer } from "./components/debug-container"; import { nav } from "./components/nav"; import * as fx from "./effects"; import * as ev from "./events"; -import type { IObjectOf } from "@thi.ng/api"; -import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * Generic base app skeleton. You can use this as basis for your own diff --git a/examples/router-basics/src/components/contact.ts b/examples/router-basics/src/components/contact.ts index 8beb21ef4b..fdf9d0155d 100644 --- a/examples/router-basics/src/components/contact.ts +++ b/examples/router-basics/src/components/contact.ts @@ -1,5 +1,5 @@ -import { externalLink } from "./external-link"; import type { AppContext } from "../api"; +import { externalLink } from "./external-link"; /** * Contact page component. diff --git a/examples/router-basics/src/components/debug-container.ts b/examples/router-basics/src/components/debug-container.ts index 95595704f4..bd3e2534d7 100644 --- a/examples/router-basics/src/components/debug-container.ts +++ b/examples/router-basics/src/components/debug-container.ts @@ -1,6 +1,6 @@ +import type { AppContext } from "../api"; import { TOGGLE_DEBUG } from "../events"; import { eventLink } from "./event-link"; -import type { AppContext } from "../api"; /** * Collapsible component showing stringified app state. diff --git a/examples/router-basics/src/components/home.ts b/examples/router-basics/src/components/home.ts index 7a428fc715..9e000e0655 100644 --- a/examples/router-basics/src/components/home.ts +++ b/examples/router-basics/src/components/home.ts @@ -1,5 +1,5 @@ -import { externalLink } from "./external-link"; import type { AppContext } from "../api"; +import { externalLink } from "./external-link"; /** * Homepage component. diff --git a/examples/router-basics/src/components/nav.ts b/examples/router-basics/src/components/nav.ts index 6fc742b500..ffdf8fad49 100644 --- a/examples/router-basics/src/components/nav.ts +++ b/examples/router-basics/src/components/nav.ts @@ -1,6 +1,6 @@ +import type { AppContext } from "../api"; import { CONTACT, HOME, USER_LIST } from "../routes"; import { routeLink } from "./route-link"; -import type { AppContext } from "../api"; /** * Main nav component with hard coded routes. diff --git a/examples/router-basics/src/components/route-link.ts b/examples/router-basics/src/components/route-link.ts index cd98befb0d..1930433856 100644 --- a/examples/router-basics/src/components/route-link.ts +++ b/examples/router-basics/src/components/route-link.ts @@ -1,5 +1,5 @@ -import { ROUTE_TO } from "../events"; import type { AppContext } from "../api"; +import { ROUTE_TO } from "../events"; /** * Customizable hyperlink component emitting EV_ROUTE_TO event when clicked. diff --git a/examples/router-basics/src/config.ts b/examples/router-basics/src/config.ts index 0756b01667..330d353073 100644 --- a/examples/router-basics/src/config.ts +++ b/examples/router-basics/src/config.ts @@ -1,6 +1,6 @@ import { - EV_SET_VALUE, Event, + EV_SET_VALUE, FX_DELAY, FX_DISPATCH_ASYNC, FX_DISPATCH_NOW, diff --git a/examples/router-basics/src/routes.ts b/examples/router-basics/src/routes.ts index f0a4723688..321f28cac6 100644 --- a/examples/router-basics/src/routes.ts +++ b/examples/router-basics/src/routes.ts @@ -1,4 +1,4 @@ -import { Route } from "@thi.ng/router"; +import type { Route } from "@thi.ng/router"; // route definitions: // routes are 1st class objects and used directly throughout the app diff --git a/examples/rstream-event-loop/src/events.ts b/examples/rstream-event-loop/src/events.ts index c1d31e537c..8a5ce92e7d 100644 --- a/examples/rstream-event-loop/src/events.ts +++ b/examples/rstream-event-loop/src/events.ts @@ -1,9 +1,9 @@ +import type { Fn } from "@thi.ng/api"; import { setInManyUnsafe } from "@thi.ng/paths"; import { ISubscriber, pubsub, stream, trace } from "@thi.ng/rstream"; import { filter, Transducer } from "@thi.ng/transducers"; import { Event, EventType, EventTypeMap, NEXT, PAGE_READY, PREV } from "./api"; import { state } from "./state"; -import type { Fn } from "@thi.ng/api"; /** * Event input stream (not exported) diff --git a/examples/rstream-grid/src/api.ts b/examples/rstream-grid/src/api.ts index f74c6aa3d2..8b6d011c6a 100644 --- a/examples/rstream-grid/src/api.ts +++ b/examples/rstream-grid/src/api.ts @@ -1,6 +1,6 @@ -import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { IView } from "@thi.ng/atom"; +import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; /** * Function signature for main app components. diff --git a/examples/rstream-grid/src/app.ts b/examples/rstream-grid/src/app.ts index 3694b8ff23..6936c3ef3b 100644 --- a/examples/rstream-grid/src/app.ts +++ b/examples/rstream-grid/src/app.ts @@ -1,12 +1,12 @@ +import type { IObjectOf } from "@thi.ng/api"; import { Atom, Cursor, defViewUnsafe, History } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus } from "@thi.ng/interceptors"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; import { initDataflow } from "./dataflow"; import * as ev from "./events"; import { PARAM_BASE } from "./paths"; -import type { IObjectOf } from "@thi.ng/api"; -import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * The app does not much more than: diff --git a/examples/rstream-grid/src/components/button-group.ts b/examples/rstream-grid/src/components/button-group.ts index 733f015784..ee339072f4 100644 --- a/examples/rstream-grid/src/components/button-group.ts +++ b/examples/rstream-grid/src/components/button-group.ts @@ -1,5 +1,5 @@ -import { button } from "./button"; import type { AppContext } from "../api"; +import { button } from "./button"; export const buttonGroup = (ctx: AppContext, ...buttons: any[]) => [ "section", diff --git a/examples/rstream-grid/src/components/button.ts b/examples/rstream-grid/src/components/button.ts index 92037d5900..63039ba2e8 100644 --- a/examples/rstream-grid/src/components/button.ts +++ b/examples/rstream-grid/src/components/button.ts @@ -1,5 +1,5 @@ -import { eventLink } from "./event-link"; import type { AppContext } from "../api"; +import { eventLink } from "./event-link"; export const button = (ctx: AppContext, event: Event, label: string) => [ eventLink, diff --git a/examples/rstream-grid/src/components/main.ts b/examples/rstream-grid/src/components/main.ts index 78b7826153..74a9d4e5af 100644 --- a/examples/rstream-grid/src/components/main.ts +++ b/examples/rstream-grid/src/components/main.ts @@ -1,6 +1,6 @@ +import type { AppContext } from "../api"; import { SLIDERS } from "../sliders"; import { sidebar } from "./sidebar"; -import type { AppContext } from "../api"; export const main = (ctx: AppContext) => { const bar = sidebar(ctx, ...SLIDERS); diff --git a/examples/rstream-grid/src/components/sidebar.ts b/examples/rstream-grid/src/components/sidebar.ts index 5c8c40b008..0ea59716d9 100644 --- a/examples/rstream-grid/src/components/sidebar.ts +++ b/examples/rstream-grid/src/components/sidebar.ts @@ -1,8 +1,8 @@ +import type { AppContext } from "../api"; import * as ev from "../events"; import { buttonGroup } from "./button-group"; import { link } from "./link"; import { slider, SliderOpts } from "./slider"; -import type { AppContext } from "../api"; export const sidebar = (ctx: AppContext, ...specs: SliderOpts[]) => { const sliders = specs.map((s) => slider(ctx, s)); diff --git a/examples/rstream-grid/src/config.ts b/examples/rstream-grid/src/config.ts index 56d09a0cae..3a9d4af0b8 100644 --- a/examples/rstream-grid/src/config.ts +++ b/examples/rstream-grid/src/config.ts @@ -4,12 +4,12 @@ import { snapshot, valueSetter } from "@thi.ng/interceptors"; import { getInUnsafe } from "@thi.ng/paths"; import { fromIterable } from "@thi.ng/rstream"; import { range } from "@thi.ng/transducers"; +import type { AppConfig } from "./api"; import { main } from "./components/main"; import * as fx from "./effects"; import * as ev from "./events"; import * as paths from "./paths"; import { SLIDERS } from "./sliders"; -import type { AppConfig } from "./api"; const FG_COL = "light-silver"; const LINK_COL = "white"; diff --git a/examples/rstream-spreadsheet/src/dsl.ts b/examples/rstream-spreadsheet/src/dsl.ts index 88ff0b800e..948ce95868 100644 --- a/examples/rstream-spreadsheet/src/dsl.ts +++ b/examples/rstream-spreadsheet/src/dsl.ts @@ -1,3 +1,4 @@ +import type { Fn, IObjectOf } from "@thi.ng/api"; import { defmulti } from "@thi.ng/defmulti"; import { illegalArgs } from "@thi.ng/errors"; import { fit } from "@thi.ng/math"; @@ -35,7 +36,6 @@ import { } from "@thi.ng/transducers"; import { RE_CELL_ID, RE_CELL_RANGE } from "./api"; import { DB, graph, removeCell } from "./state"; -import type { Fn, IObjectOf } from "@thi.ng/api"; /** * Runtime env, stores ID of result cell and tree/nesting depth of diff --git a/examples/rstream-spreadsheet/src/state.ts b/examples/rstream-spreadsheet/src/state.ts index 9f2967fe42..804576f8a1 100644 --- a/examples/rstream-spreadsheet/src/state.ts +++ b/examples/rstream-spreadsheet/src/state.ts @@ -1,9 +1,8 @@ +import type { IObjectOf } from "@thi.ng/api"; import { Atom } from "@thi.ng/atom"; import { setIn, setInManyUnsafe } from "@thi.ng/paths"; import { Node, removeNode } from "@thi.ng/rstream-graph"; import { charRange } from "@thi.ng/strings"; -import { Cell, MAX_COL, NUM_ROWS } from "./api"; -import { $eval } from "./dsl"; import { assocObj, map, @@ -11,7 +10,8 @@ import { range, transduce, } from "@thi.ng/transducers"; -import type { IObjectOf } from "@thi.ng/api"; +import { Cell, MAX_COL, NUM_ROWS } from "./api"; +import { $eval } from "./dsl"; /** * Initializes state atom with default cell values. Later on, the diff --git a/examples/scenegraph-image/src/index.ts b/examples/scenegraph-image/src/index.ts index 5815358de9..f7cf1e888a 100644 --- a/examples/scenegraph-image/src/index.ts +++ b/examples/scenegraph-image/src/index.ts @@ -1,3 +1,4 @@ +import type { Fn0 } from "@thi.ng/api"; import { sin } from "@thi.ng/dsp"; import { group, polyline } from "@thi.ng/geom"; import { start } from "@thi.ng/hdom"; @@ -8,7 +9,6 @@ import { Node2D } from "@thi.ng/scenegraph"; import { map, range } from "@thi.ng/transducers"; import { ReadonlyVec, setN2, Vec } from "@thi.ng/vectors"; import LOGO from "../assets/logo-256.png"; -import type { Fn0 } from "@thi.ng/api"; /** * Specialized scene graph node for images. diff --git a/examples/scenegraph/src/index.ts b/examples/scenegraph/src/index.ts index 1161a7c9b7..5aff3839db 100644 --- a/examples/scenegraph/src/index.ts +++ b/examples/scenegraph/src/index.ts @@ -1,11 +1,11 @@ import { asPolygon, circle, pointInside, rect } from "@thi.ng/geom"; +import type { IShape } from "@thi.ng/geom-api"; import { start } from "@thi.ng/hdom"; import { canvas } from "@thi.ng/hdom-canvas"; import { HALF_PI, PI } from "@thi.ng/math"; import { Node2D, NodeInfo } from "@thi.ng/scenegraph"; import { cycle, map, range } from "@thi.ng/transducers"; import { cartesian2, mulN2, ReadonlyVec, Vec } from "@thi.ng/vectors"; -import type { IShape } from "@thi.ng/geom-api"; /** * Specialized scene graph node using @thi.ng/geom shapes as body. diff --git a/examples/shader-graph/src/api.ts b/examples/shader-graph/src/api.ts index 387a4e5057..d1f7cd1d06 100644 --- a/examples/shader-graph/src/api.ts +++ b/examples/shader-graph/src/api.ts @@ -1,4 +1,4 @@ -import { Fn4, IObjectOf } from "@thi.ng/api"; +import { Fn4 } from "@thi.ng/api"; import { Node2D } from "@thi.ng/scenegraph"; import { FloatSym, @@ -9,7 +9,7 @@ import { Vec4Sym, } from "@thi.ng/shader-ast"; import { GLSLTarget } from "@thi.ng/shader-ast-glsl"; -import { GLSL, GLVec, ModelSpec, Texture } from "@thi.ng/webgl"; +import { ModelSpec, Texture } from "@thi.ng/webgl"; export interface AppCtx { /** diff --git a/examples/svg-waveform/src/api.ts b/examples/svg-waveform/src/api.ts index 93c1361957..5edc6a331f 100644 --- a/examples/svg-waveform/src/api.ts +++ b/examples/svg-waveform/src/api.ts @@ -1,6 +1,6 @@ -import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { IView } from "@thi.ng/atom"; +import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; /** * Function signature for main app components. diff --git a/examples/svg-waveform/src/app.ts b/examples/svg-waveform/src/app.ts index 2c7a49774a..fd3b30f953 100644 --- a/examples/svg-waveform/src/app.ts +++ b/examples/svg-waveform/src/app.ts @@ -1,10 +1,10 @@ +import type { IObjectOf } from "@thi.ng/api"; import { Atom, defViewUnsafe, History } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus } from "@thi.ng/interceptors"; -import * as ev from "./events"; -import type { IObjectOf } from "@thi.ng/api"; import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; +import * as ev from "./events"; /** * Generic base app skeleton. You can use this as basis for your own diff --git a/examples/svg-waveform/src/components/button-group.ts b/examples/svg-waveform/src/components/button-group.ts index 023882243f..446eed82d0 100644 --- a/examples/svg-waveform/src/components/button-group.ts +++ b/examples/svg-waveform/src/components/button-group.ts @@ -1,5 +1,5 @@ -import { button } from "./button"; import type { AppContext } from "../api"; +import { button } from "./button"; export function buttonGroup(ctx: AppContext, ...buttons: any[]) { return [ diff --git a/examples/svg-waveform/src/components/button.ts b/examples/svg-waveform/src/components/button.ts index 696a39e983..7cb1083df6 100644 --- a/examples/svg-waveform/src/components/button.ts +++ b/examples/svg-waveform/src/components/button.ts @@ -1,5 +1,5 @@ -import { eventLink } from "./event-link"; import type { AppContext } from "../api"; +import { eventLink } from "./event-link"; export function button(ctx: AppContext, event: Event, label: string) { return [eventLink, ctx.ui.button, event, label]; diff --git a/examples/svg-waveform/src/components/main.ts b/examples/svg-waveform/src/components/main.ts index 6c553c82c4..52b800a24b 100644 --- a/examples/svg-waveform/src/components/main.ts +++ b/examples/svg-waveform/src/components/main.ts @@ -1,7 +1,7 @@ +import type { AppContext } from "../api"; import { SLIDERS } from "../sliders"; import { sidebar } from "./sidebar"; import { waveform } from "./waveform"; -import type { AppContext } from "../api"; export function main(ctx: AppContext) { const bar = sidebar(ctx, ...SLIDERS); diff --git a/examples/svg-waveform/src/components/sidebar.ts b/examples/svg-waveform/src/components/sidebar.ts index 7b4addf784..dcb244889d 100644 --- a/examples/svg-waveform/src/components/sidebar.ts +++ b/examples/svg-waveform/src/components/sidebar.ts @@ -1,8 +1,8 @@ +import type { AppContext } from "../api"; import * as ev from "../events"; import { buttonGroup } from "./button-group"; import { link } from "./link"; import { slider, SliderOpts } from "./slider"; -import type { AppContext } from "../api"; export function sidebar(ctx: AppContext, ...specs: SliderOpts[]) { const sliders = specs.map((s) => slider(ctx, s)); diff --git a/examples/svg-waveform/src/events.ts b/examples/svg-waveform/src/events.ts index 838e474105..4e0990b074 100644 --- a/examples/svg-waveform/src/events.ts +++ b/examples/svg-waveform/src/events.ts @@ -1,4 +1,4 @@ -import { EV_UNDO, EV_REDO } from "@thi.ng/interceptors"; +import { EV_REDO, EV_UNDO } from "@thi.ng/interceptors"; // best practice tip: define event & effect names as consts or enums // and avoid hardcoded strings for more safety and easier refactoring diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts index 52560262fb..1d076a21a0 100644 --- a/examples/todo-list/src/index.ts +++ b/examples/todo-list/src/index.ts @@ -1,7 +1,7 @@ +import type { IObjectOf } from "@thi.ng/api"; import { defAtom, defCursor, defHistory, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { map, pairs } from "@thi.ng/transducers"; -import type { IObjectOf } from "@thi.ng/api"; interface Task { done: boolean; @@ -18,7 +18,10 @@ interface State { // central app state (immutable) const db = defAtom({ tasks: {}, nextID: 0 }); // attach undo/redo history for `tasks` branch (arbitrary undo limit of 100 steps) -const tasks = defHistory(defCursor(db, ["tasks"]), 100); +const tasks = defHistory( + defCursor(db, ["tasks"]), + 100 +); // cursor for direct access to `nextID` const nextID = defCursor(db, ["nextID"]); // create derived view of tasks transformed into components diff --git a/examples/triple-query/src/api.ts b/examples/triple-query/src/api.ts index 94862d8bc1..d4add7ae75 100644 --- a/examples/triple-query/src/api.ts +++ b/examples/triple-query/src/api.ts @@ -1,12 +1,12 @@ -import { QuerySpec, TripleStore } from "@thi.ng/rstream-query"; +import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { IView } from "@thi.ng/atom"; import { EffectDef, EventBus, EventDef, InterceptorContext, } from "@thi.ng/interceptors"; -import type { Fn, IObjectOf, Path } from "@thi.ng/api"; -import type { IView } from "@thi.ng/atom"; +import { QuerySpec, TripleStore } from "@thi.ng/rstream-query"; /** * Function signature for main app components. diff --git a/examples/triple-query/src/app.ts b/examples/triple-query/src/app.ts index 3b51f184c8..ce96f8fe51 100644 --- a/examples/triple-query/src/app.ts +++ b/examples/triple-query/src/app.ts @@ -1,11 +1,11 @@ +import type { IObjectOf } from "@thi.ng/api"; import { Atom, defViewUnsafe } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; -import { EV_SET_VALUE, EventBus } from "@thi.ng/interceptors"; +import { EventBus, EV_SET_VALUE } from "@thi.ng/interceptors"; import { TripleStore } from "@thi.ng/rstream-query"; -import * as ev from "./events"; -import type { IObjectOf } from "@thi.ng/api"; import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; +import * as ev from "./events"; /** * Generic base app skeleton. You can use this as basis for your own diff --git a/examples/triple-query/src/components/button-group.ts b/examples/triple-query/src/components/button-group.ts index 023882243f..446eed82d0 100644 --- a/examples/triple-query/src/components/button-group.ts +++ b/examples/triple-query/src/components/button-group.ts @@ -1,5 +1,5 @@ -import { button } from "./button"; import type { AppContext } from "../api"; +import { button } from "./button"; export function buttonGroup(ctx: AppContext, ...buttons: any[]) { return [ diff --git a/examples/triple-query/src/components/button.ts b/examples/triple-query/src/components/button.ts index bbed028e34..ada9a8686f 100644 --- a/examples/triple-query/src/components/button.ts +++ b/examples/triple-query/src/components/button.ts @@ -1,5 +1,5 @@ -import { eventLink } from "./event-link"; import type { AppContext } from "../api"; +import { eventLink } from "./event-link"; export function button( ctx: AppContext, diff --git a/examples/triple-query/src/components/main.ts b/examples/triple-query/src/components/main.ts index 12f4bae613..ac4e3a8254 100644 --- a/examples/triple-query/src/components/main.ts +++ b/examples/triple-query/src/components/main.ts @@ -1,6 +1,6 @@ +import type { AppContext } from "../api"; import { queryResults } from "./query-results"; import { tripleTable } from "./triple-table"; -import type { AppContext } from "../api"; export function main(ctx: AppContext) { const triples = tripleTable(); diff --git a/examples/triple-query/src/components/query-results.ts b/examples/triple-query/src/components/query-results.ts index 0669bc1ffa..3b8e760531 100644 --- a/examples/triple-query/src/components/query-results.ts +++ b/examples/triple-query/src/components/query-results.ts @@ -1,7 +1,7 @@ import { map, mapIndexed, repeat } from "@thi.ng/transducers"; +import type { AppContext } from "../api"; import { section } from "./section"; import { table } from "./table"; -import type { AppContext } from "../api"; export const queryResults = ( _: AppContext, diff --git a/examples/triple-query/src/components/triple-table.ts b/examples/triple-query/src/components/triple-table.ts index 5b160eeabf..faa74c3328 100644 --- a/examples/triple-query/src/components/triple-table.ts +++ b/examples/triple-query/src/components/triple-table.ts @@ -1,11 +1,11 @@ import { pager } from "@thi.ng/hdom-components"; +import type { AppContext } from "../api"; import { SET_PAGE, SET_SORT } from "../events"; import { PAGE_LEN } from "../handlers"; import { button } from "./button"; import { eventLink } from "./event-link"; import { section } from "./section"; import { table } from "./table"; -import type { AppContext } from "../api"; export const tripleTable = () => { const _pager = pager({ diff --git a/examples/triple-query/src/config.ts b/examples/triple-query/src/config.ts index 6f510f8ed8..b7af8326c4 100644 --- a/examples/triple-query/src/config.ts +++ b/examples/triple-query/src/config.ts @@ -1,6 +1,6 @@ +import type { AppConfig } from "./api"; import { main } from "./components/main"; import { EFFECTS, EVENTS } from "./handlers"; -import type { AppConfig } from "./api"; // main App configuration export const CONFIG: AppConfig = { diff --git a/examples/triple-query/src/handlers.ts b/examples/triple-query/src/handlers.ts index bbb9ac4ad2..d41a177526 100644 --- a/examples/triple-query/src/handlers.ts +++ b/examples/triple-query/src/handlers.ts @@ -1,7 +1,5 @@ +import type { IObjectOf } from "@thi.ng/api"; import { compare } from "@thi.ng/compare"; -import { getIn, setIn } from "@thi.ng/paths"; -import * as fx from "./effects"; -import * as ev from "./events"; import { dispatchNow, EffectDef, @@ -10,6 +8,8 @@ import { FX_STATE, valueSetter, } from "@thi.ng/interceptors"; +import { getIn, setIn } from "@thi.ng/paths"; +import type { Triple } from "@thi.ng/rstream-query"; import { comp, iterator, @@ -18,9 +18,9 @@ import { page, repeat, } from "@thi.ng/transducers"; -import type { IObjectOf } from "@thi.ng/api"; -import type { Triple } from "@thi.ng/rstream-query"; import type { AppInterceptorContext } from "./api"; +import * as fx from "./effects"; +import * as ev from "./events"; export const PAGE_LEN = 5; From 1b7710d44c997b836fd02658115c48fe1eebd105 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 22:23:36 +0100 Subject: [PATCH 05/15] build: update build-examples script, make-* scripts --- scripts/build-examples | 6 ++++++ scripts/make-example | 5 +++-- scripts/make-module | 14 +++++++------- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/scripts/build-examples b/scripts/build-examples index 397b187309..2a0a9e3b58 100755 --- a/scripts/build-examples +++ b/scripts/build-examples @@ -15,8 +15,14 @@ for e in $examples; do if [ ! -r "$e"/package.json ]; then continue fi + if grep --quiet '"skip": true' "$e"/package.json; then + continue + fi if grep --quiet build:webpack "$e"/package.json; then (cd "$e" && yarn build:webpack) + cp "$e"/index.html "$e"/out/index.html + js=$(basename $(ls "$e"/out/bundle*.js)) + sed -i '' -E 's,
diff --git a/scripts/make-module b/scripts/make-module index 55f3f18205..643ef60461 100755 --- a/scripts/make-module +++ b/scripts/make-module @@ -77,17 +77,17 @@ cat << EOF > "$MODULE"/package.json }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", - "@microsoft/api-extractor": "^7.8.0", - "@types/mocha": "^7.0.2", - "@types/node": "^14.0.1", - "mocha": "^8.0.1", + "@microsoft/api-extractor": "^7.9.2", + "@types/mocha": "^8.0.0", + "@types/node": "^14.0.26", + "mocha": "^8.1.1", "nyc": "^15.1.0", "ts-node": "^8.10.1", - "typedoc": "^0.17.6", - "typescript": "^3.9.5" + "typedoc": "^0.18.0", + "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.11.2" + "@thi.ng/api": "^6.12.1" }, "files": [ "*.js", From 7d7d512ff1c775b395831a86c6dec89678bf6e3b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 22:26:12 +0100 Subject: [PATCH 06/15] feat(tools): add check-imports script --- tools/src/build-search-index.ts | 2 +- tools/src/check-imports.ts | 59 +++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 tools/src/check-imports.ts diff --git a/tools/src/build-search-index.ts b/tools/src/build-search-index.ts index caaed715da..6ae106a75a 100644 --- a/tools/src/build-search-index.ts +++ b/tools/src/build-search-index.ts @@ -101,4 +101,4 @@ const packed = build( writeFileSync("search.json", JSON.stringify(packed)); // msgpack'd binary version writeFileSync("search.bin", serialize(packed)); -execSync("gzip -9 search.bin"); +execSync("gzip -9 -f search.bin"); diff --git a/tools/src/check-imports.ts b/tools/src/check-imports.ts new file mode 100644 index 0000000000..4beb64ca4b --- /dev/null +++ b/tools/src/check-imports.ts @@ -0,0 +1,59 @@ +import { unionR } from "@thi.ng/associative"; +import { compareByKeys2 } from "@thi.ng/compare"; +import { + assocObj, + comp, + conj, + filter, + keys, + map, + mapcat, + transduce, +} from "@thi.ng/transducers"; +import { readFileSync } from "fs"; +import { files, readJSON } from "./io"; +import { shortName } from "./partials/package"; + +const RE_IMPORT = /\}? from "(?!\.)([a-z0-9@/.-]+)";/; + +const xform = comp( + mapcat((f: string) => readFileSync(f).toString().split("\n")), + map((line) => RE_IMPORT.exec(line)), + filter((x) => !!x), + map((x) => x![1]) +); + +const usedDependencies = (rootDir: string) => + transduce(xform, conj(), files(rootDir, ".ts")); + +const updateImports = (project: string) => { + const pkgPath = project + "/package.json"; + const deps = usedDependencies(project + "/src"); + const pkg = readJSON(pkgPath); + !pkg.dependencies && (pkg.dependencies = {}); + const mergedDeps = unionR([deps, keys(pkg.dependencies)]); + let edit = false; + const pairs: [string, string][] = []; + for (let d of mergedDeps) { + if (!d.startsWith("@thi.ng")) continue; + if (deps.has(d) && !pkg.dependencies[d]) { + const depPkg = readJSON(`packages/${shortName(d)}/package.json`); + pairs.push([d, `^${depPkg.version}`]); + edit = true; + } else if (!deps.has(d)) { + delete pkg.dependencies[d]; + edit = true; + } else { + pairs.push([d, pkg.dependencies[d]]); + } + } + if (edit) { + const result = assocObj(pairs.sort(compareByKeys2(0, 1))); + console.log(JSON.stringify(result, null, 2)); + } else { + console.log("ok"); + } +}; + +const project = process.argv[2]; +updateImports(project); From 6af331289c9d5de93113697340eca5f516bc25f8 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 22:52:04 +0100 Subject: [PATCH 07/15] docs: add typedoc theme & update doc script alias in all pkgs - theme is same as typedoc default theme - add plausible.io analytics code - add readme of changes in tools/doc/typedoc-theme --- packages/adapt-dpi/package.json | 2 +- packages/adjacency/package.json | 2 +- packages/api/package.json | 2 +- packages/arrays/package.json | 2 +- packages/associative/package.json | 2 +- packages/atom/package.json | 2 +- packages/bench/package.json | 2 +- packages/bencode/package.json | 2 +- packages/binary/package.json | 2 +- packages/bitfield/package.json | 2 +- packages/bitstream/package.json | 2 +- packages/cache/package.json | 2 +- packages/checks/package.json | 2 +- packages/color/package.json | 2 +- packages/compare/package.json | 2 +- packages/compose/package.json | 2 +- packages/csp/package.json | 2 +- packages/dcons/package.json | 2 +- packages/defmulti/package.json | 2 +- packages/dgraph-dot/package.json | 2 +- packages/dgraph/package.json | 2 +- packages/diff/package.json | 2 +- packages/dl-asset/package.json | 2 +- packages/dlogic/package.json | 2 +- packages/dot/package.json | 2 +- packages/dsp-io-wav/package.json | 2 +- packages/dsp/package.json | 2 +- packages/dynvar/package.json | 2 +- packages/ecs/package.json | 2 +- packages/equiv/package.json | 2 +- packages/errors/package.json | 2 +- packages/fsm/package.json | 2 +- packages/geom-accel/package.json | 2 +- packages/geom-api/package.json | 2 +- packages/geom-arc/package.json | 2 +- packages/geom-clip-line/package.json | 2 +- packages/geom-clip-poly/package.json | 2 +- packages/geom-closest-point/package.json | 2 +- packages/geom-fuzz/package.json | 2 +- packages/geom-hull/package.json | 2 +- packages/geom-io-obj/package.json | 2 +- packages/geom-isec/package.json | 2 +- packages/geom-isoline/package.json | 2 +- packages/geom-poly-utils/package.json | 2 +- packages/geom-resample/package.json | 2 +- packages/geom-splines/package.json | 2 +- packages/geom-subdiv-curve/package.json | 2 +- packages/geom-tessellate/package.json | 2 +- packages/geom-voronoi/package.json | 2 +- packages/geom/package.json | 2 +- packages/gp/package.json | 2 +- packages/grid-iterators/package.json | 2 +- packages/hdiff/package.json | 2 +- packages/hdom-canvas/package.json | 2 +- packages/hdom-components/package.json | 2 +- packages/hdom-mock/package.json | 2 +- packages/hdom/package.json | 2 +- packages/heaps/package.json | 2 +- packages/hiccup-canvas/package.json | 2 +- packages/hiccup-carbon-icons/package.json | 2 +- packages/hiccup-css/package.json | 2 +- packages/hiccup-html/package.json | 2 +- packages/hiccup-markdown/package.json | 2 +- packages/hiccup-svg/package.json | 2 +- packages/hiccup/package.json | 2 +- packages/idgen/package.json | 2 +- packages/iges/package.json | 2 +- packages/imgui/package.json | 2 +- packages/interceptors/package.json | 2 +- packages/intervals/package.json | 2 +- packages/iterators/package.json | 2 +- packages/layout/package.json | 2 +- packages/leb128/package.json | 2 +- packages/lsys/package.json | 2 +- packages/malloc/package.json | 2 +- packages/math/package.json | 2 +- packages/matrices/package.json | 2 +- packages/memoize/package.json | 2 +- packages/mime/package.json | 2 +- packages/morton/package.json | 2 +- packages/oquery/package.json | 2 +- packages/parse/package.json | 2 +- packages/paths/package.json | 2 +- packages/pixel/package.json | 2 +- packages/pointfree-lang/package.json | 2 +- packages/pointfree/package.json | 2 +- packages/poisson/package.json | 2 +- packages/porter-duff/package.json | 2 +- packages/prefixes/package.json | 2 +- packages/quad-edge/package.json | 2 +- packages/ramp/package.json | 2 +- packages/random/package.json | 2 +- packages/range-coder/package.json | 2 +- packages/rdom-canvas/package.json | 2 +- packages/rdom-components/package.json | 2 +- packages/rdom/package.json | 2 +- packages/resolve-map/package.json | 2 +- packages/rle-pack/package.json | 2 +- packages/router/package.json | 2 +- packages/rstream-csp/package.json | 2 +- packages/rstream-dot/package.json | 2 +- packages/rstream-gestures/package.json | 2 +- packages/rstream-graph/package.json | 2 +- packages/rstream-log-file/package.json | 2 +- packages/rstream-log/package.json | 2 +- packages/rstream-query/package.json | 2 +- packages/rstream/package.json | 2 +- packages/sax/package.json | 2 +- packages/scenegraph/package.json | 2 +- packages/seq/package.json | 2 +- packages/sexpr/package.json | 2 +- packages/shader-ast-glsl/package.json | 2 +- packages/shader-ast-js/package.json | 2 +- packages/shader-ast-stdlib/package.json | 2 +- packages/shader-ast/package.json | 2 +- packages/simd/package.json | 2 +- packages/soa/package.json | 2 +- packages/sparse/package.json | 2 +- packages/strings/package.json | 2 +- packages/system/package.json | 2 +- packages/text-canvas/package.json | 2 +- packages/transducers-binary/package.json | 2 +- packages/transducers-fsm/package.json | 2 +- packages/transducers-hdom/package.json | 2 +- packages/transducers-patch/package.json | 2 +- packages/transducers-stats/package.json | 2 +- packages/transducers/package.json | 2 +- packages/unionstruct/package.json | 2 +- packages/vector-pools/package.json | 2 +- packages/vectors/package.json | 2 +- packages/webgl-msdf/package.json | 2 +- packages/webgl-shadertoy/package.json | 2 +- packages/webgl/package.json | 2 +- packages/zipper/package.json | 2 +- tools/doc/typedoc-theme/README.md | 4 + .../typedoc-theme/assets/css/_constants.sass | 39 ++ .../assets/css/elements/_comment.sass | 53 +++ .../assets/css/elements/_filter.sass | 65 +++ .../assets/css/elements/_footer.sass | 21 + .../assets/css/elements/_hierarchy.sass | 24 + .../assets/css/elements/_images.sass | 3 + .../assets/css/elements/_index.sass | 79 ++++ .../assets/css/elements/_member.sass | 21 + .../assets/css/elements/_navigation.sass | 148 ++++++ .../assets/css/elements/_panel.sass | 70 +++ .../assets/css/elements/_search.sass | 89 ++++ .../assets/css/elements/_signatures.sass | 152 +++++++ .../assets/css/elements/_sources.sass | 24 + .../assets/css/elements/_toolbar.sass | 175 ++++++++ .../assets/css/layouts/_default.sass | 113 +++++ .../assets/css/layouts/_minimal.sass | 49 ++ tools/doc/typedoc-theme/assets/css/main.sass | 27 ++ .../assets/css/setup/_animations.sass | 54 +++ .../typedoc-theme/assets/css/setup/_grid.sass | 60 +++ .../assets/css/setup/_icons.scss | 166 +++++++ .../assets/css/setup/_mixins.sass | 30 ++ .../assets/css/setup/_typography.sass | 45 ++ .../assets/css/vendors/_highlight.js.sass | 50 +++ .../assets/css/vendors/_normalize.sass | 424 ++++++++++++++++++ .../doc/typedoc-theme/assets/images/icons.png | Bin 0 -> 9615 bytes .../doc/typedoc-theme/assets/images/icons.psd | Bin 0 -> 761587 bytes .../typedoc-theme/assets/images/icons@2x.png | Bin 0 -> 28144 bytes .../typedoc-theme/assets/images/widgets.png | Bin 0 -> 480 bytes .../typedoc-theme/assets/images/widgets.psd | Bin 0 -> 187424 bytes .../assets/images/widgets@2x.png | Bin 0 -> 855 bytes .../assets/js/src/typedoc/Application.ts | 111 +++++ .../assets/js/src/typedoc/Component.ts | 17 + .../assets/js/src/typedoc/EventTarget.ts | 45 ++ .../js/src/typedoc/components/Filter.ts | 186 ++++++++ .../src/typedoc/components/MenuHighlight.ts | 147 ++++++ .../js/src/typedoc/components/Search.ts | 336 ++++++++++++++ .../js/src/typedoc/components/Signature.ts | 171 +++++++ .../js/src/typedoc/components/Toggle.ts | 77 ++++ .../js/src/typedoc/services/Viewport.ts | 135 ++++++ .../assets/js/src/typedoc/utils/pointer.ts | 96 ++++ .../assets/js/src/typedoc/utils/trottle.ts | 13 + .../typedoc-theme/assets/js/src/~bootstrap.ts | 12 + tools/doc/typedoc-theme/layouts/default.hbs | 47 ++ .../doc/typedoc-theme/partials/analytics.hbs | 1 + .../doc/typedoc-theme/partials/breadcrumb.hbs | 16 + tools/doc/typedoc-theme/partials/comment.hbs | 22 + tools/doc/typedoc-theme/partials/footer.hbs | 21 + tools/doc/typedoc-theme/partials/header.hbs | 71 +++ .../doc/typedoc-theme/partials/hierarchy.hbs | 17 + tools/doc/typedoc-theme/partials/index.hbs | 30 ++ .../partials/member.declaration.hbs | 36 ++ .../partials/member.getterSetter.hbs | 37 ++ tools/doc/typedoc-theme/partials/member.hbs | 24 + .../partials/member.reference.hbs | 11 + .../partials/member.signature.body.hbs | 56 +++ .../partials/member.signature.title.hbs | 32 ++ .../partials/member.signatures.hbs | 13 + .../typedoc-theme/partials/member.sources.hbs | 22 + .../typedoc-theme/partials/members.group.hbs | 21 + tools/doc/typedoc-theme/partials/members.hbs | 20 + .../doc/typedoc-theme/partials/navigation.hbs | 26 ++ .../doc/typedoc-theme/partials/parameter.hbs | 83 ++++ tools/doc/typedoc-theme/partials/toc.hbs | 10 + tools/doc/typedoc-theme/partials/toc.root.hbs | 18 + tools/doc/typedoc-theme/partials/type.hbs | 211 +++++++++ .../typedoc-theme/partials/typeAndParent.hbs | 42 ++ .../typedoc-theme/partials/typeParameters.hbs | 14 + tools/doc/typedoc-theme/templates/index.hbs | 3 + .../typedoc-theme/templates/reflection.hbs | 79 ++++ 204 files changed, 4448 insertions(+), 134 deletions(-) create mode 100644 tools/doc/typedoc-theme/README.md create mode 100644 tools/doc/typedoc-theme/assets/css/_constants.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_comment.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_filter.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_footer.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_hierarchy.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_images.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_index.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_member.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_navigation.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_panel.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_search.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_signatures.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_sources.sass create mode 100644 tools/doc/typedoc-theme/assets/css/elements/_toolbar.sass create mode 100644 tools/doc/typedoc-theme/assets/css/layouts/_default.sass create mode 100644 tools/doc/typedoc-theme/assets/css/layouts/_minimal.sass create mode 100644 tools/doc/typedoc-theme/assets/css/main.sass create mode 100644 tools/doc/typedoc-theme/assets/css/setup/_animations.sass create mode 100644 tools/doc/typedoc-theme/assets/css/setup/_grid.sass create mode 100644 tools/doc/typedoc-theme/assets/css/setup/_icons.scss create mode 100644 tools/doc/typedoc-theme/assets/css/setup/_mixins.sass create mode 100644 tools/doc/typedoc-theme/assets/css/setup/_typography.sass create mode 100644 tools/doc/typedoc-theme/assets/css/vendors/_highlight.js.sass create mode 100644 tools/doc/typedoc-theme/assets/css/vendors/_normalize.sass create mode 100644 tools/doc/typedoc-theme/assets/images/icons.png create mode 100644 tools/doc/typedoc-theme/assets/images/icons.psd create mode 100644 tools/doc/typedoc-theme/assets/images/icons@2x.png create mode 100644 tools/doc/typedoc-theme/assets/images/widgets.png create mode 100644 tools/doc/typedoc-theme/assets/images/widgets.psd create mode 100644 tools/doc/typedoc-theme/assets/images/widgets@2x.png create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/Application.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/Component.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/EventTarget.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/components/Filter.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/components/MenuHighlight.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/components/Search.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/components/Signature.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/components/Toggle.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/services/Viewport.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/utils/pointer.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/typedoc/utils/trottle.ts create mode 100644 tools/doc/typedoc-theme/assets/js/src/~bootstrap.ts create mode 100644 tools/doc/typedoc-theme/layouts/default.hbs create mode 100644 tools/doc/typedoc-theme/partials/analytics.hbs create mode 100644 tools/doc/typedoc-theme/partials/breadcrumb.hbs create mode 100644 tools/doc/typedoc-theme/partials/comment.hbs create mode 100644 tools/doc/typedoc-theme/partials/footer.hbs create mode 100644 tools/doc/typedoc-theme/partials/header.hbs create mode 100644 tools/doc/typedoc-theme/partials/hierarchy.hbs create mode 100644 tools/doc/typedoc-theme/partials/index.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.declaration.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.getterSetter.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.reference.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.signature.body.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.signature.title.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.signatures.hbs create mode 100644 tools/doc/typedoc-theme/partials/member.sources.hbs create mode 100644 tools/doc/typedoc-theme/partials/members.group.hbs create mode 100644 tools/doc/typedoc-theme/partials/members.hbs create mode 100644 tools/doc/typedoc-theme/partials/navigation.hbs create mode 100644 tools/doc/typedoc-theme/partials/parameter.hbs create mode 100644 tools/doc/typedoc-theme/partials/toc.hbs create mode 100644 tools/doc/typedoc-theme/partials/toc.root.hbs create mode 100644 tools/doc/typedoc-theme/partials/type.hbs create mode 100644 tools/doc/typedoc-theme/partials/typeAndParent.hbs create mode 100644 tools/doc/typedoc-theme/partials/typeParameters.hbs create mode 100644 tools/doc/typedoc-theme/templates/index.hbs create mode 100644 tools/doc/typedoc-theme/templates/reflection.hbs diff --git a/packages/adapt-dpi/package.json b/packages/adapt-dpi/package.json index 88ff90b789..13bcfa2f79 100644 --- a/packages/adapt-dpi/package.json +++ b/packages/adapt-dpi/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 8b5fdca6e5..bffbccbbe9 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/api/package.json b/packages/api/package.json index 0b4ce129ce..a26afcaef5 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 09a2ace35e..92e521029c 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/associative/package.json b/packages/associative/package.json index 2f2641096e..30be7172e6 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/atom/package.json b/packages/atom/package.json index 784f70dea4..ccc19e4ef0 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/bench/package.json b/packages/bench/package.json index c978b9c7dc..a6fa53aad2 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 3a5e9bc681..f3a40a918c 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/binary/package.json b/packages/binary/package.json index e8073cc2ac..9e29c8596e 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 0a5de04f09..2f7611c097 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 1573e619d8..ffd56e2f21 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/cache/package.json b/packages/cache/package.json index 04536b45a6..9b3f287a82 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/checks/package.json b/packages/checks/package.json index 7d72968082..157c70fe9f 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/color/package.json b/packages/color/package.json index f9ef094d98..0bf4192bad 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/compare/package.json b/packages/compare/package.json index 2e0a2d99f8..f550f1ec5e 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/compose/package.json b/packages/compose/package.json index 19ef29b8c6..74d471447a 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/csp/package.json b/packages/csp/package.json index af5ffdd718..243fab835b 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public", "testasync": "tsc -p test && node build/test/async.js", diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 6f645cae73..03e3f2797a 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index 38cfbd0132..bbb9edf706 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json index c9223bdc98..f441c551ed 100644 --- a/packages/dgraph-dot/package.json +++ b/packages/dgraph-dot/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 88c1e9e47e..ab4ce4e35f 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/diff/package.json b/packages/diff/package.json index 7acfb881d8..a179444319 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index f3a3555b9d..5b5549648f 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index 29c2744eb7..682b35e427 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/dot/package.json b/packages/dot/package.json index 557ebaa991..c951bdf29a 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 26eda72e1d..65c32e2509 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 11090f6a03..07b3090c7b 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib comp gen osc proc util", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index d84ba3ba90..00bcc873df 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/ecs/package.json b/packages/ecs/package.json index db2f1b0466..aef48cccea 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 29b8194fbb..0b13fe10b5 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/errors/package.json b/packages/errors/package.json index 72ab118cfb..71cf24ee1d 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 79dec94c58..05ef0a82c5 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 4e9dcb9dbf..ded08b3b66 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -34,7 +34,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 46ecee4d08..ae3a79b380 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index 02484b5d58..e6941e1aef 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index c6d56f1cf5..86441b487c 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 9ff9e5b281..389137d80f 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index d27275df47..5bf352f6b5 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-fuzz/package.json b/packages/geom-fuzz/package.json index a2d937e616..6f7e5ce24d 100644 --- a/packages/geom-fuzz/package.json +++ b/packages/geom-fuzz/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 7dff0862aa..a357791ee1 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json index 6cd1c3c704..109ebac60d 100644 --- a/packages/geom-io-obj/package.json +++ b/packages/geom-io-obj/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index 33f32056a0..5985ae6c1b 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 65a870173a..a783cc1744 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index a4f01349e6..3908f0caeb 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index ed7ab6eb1b..70d869fdec 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 247fa75068..26979f848b 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index c761b512f5..2e841a514c 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index bcced8aba3..aa29297856 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 310906f3d0..215d8dc395 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/geom/package.json b/packages/geom/package.json index a9091e0377..c16f53d0db 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib ctors internal ops", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/gp/package.json b/packages/gp/package.json index d97cc86715..64240fc79c 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index 85f51f8a1e..c7c228c50a 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -34,7 +34,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json index 55fbc02093..429a0e22a0 100644 --- a/packages/hdiff/package.json +++ b/packages/hdiff/package.json @@ -36,7 +36,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 32f85f5851..e7ce026d23 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib draw", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 8762766e1c..1f0d53bc81 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 4075b5078b..59b84cbaf0 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 02f30540cc..e175434669 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 4f87230339..a4b42388bc 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -34,7 +34,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json index 696a456f77..c0ad5bb5e1 100644 --- a/packages/hiccup-canvas/package.json +++ b/packages/hiccup-canvas/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index cc0664791e..bb037da618 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index 13df685501..3501b2fa25 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hiccup-html/package.json b/packages/hiccup-html/package.json index b8034c45b8..a0d1a61942 100644 --- a/packages/hiccup-html/package.json +++ b/packages/hiccup-html/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 76716e0a83..fbc393c811 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index b7afdda6a9..58f830ef05 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 3957188d1a..3a20a5852e 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 9858dac6c7..3db232efe3 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/iges/package.json b/packages/iges/package.json index d6801acd1e..fbb748edc9 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 20ee2d1887..06a5b5ddb3 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib behaviors components", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 8c8d6484b8..c39016e664 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/intervals/package.json b/packages/intervals/package.json index b56d1c0cc8..be81b0c4b8 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 6e2b3a5b82..83a20ee1c2 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/layout/package.json b/packages/layout/package.json index b1e0ded3f1..f87ee42576 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/leb128/package.json b/packages/leb128/package.json index af733989ae..15a112bd82 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -34,7 +34,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/lsys/package.json b/packages/lsys/package.json index e639f44060..cc3cea16c1 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/malloc/package.json b/packages/malloc/package.json index ebe6e20128..4433c78eeb 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/math/package.json b/packages/math/package.json index 55a0b514e4..71cdeb9238 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 57133a0151..038113a437 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 1472b645ac..9dc77e939a 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/mime/package.json b/packages/mime/package.json index 72460daff3..cfb260caef 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/morton/package.json b/packages/morton/package.json index 29581a4cef..a5523dbf84 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/oquery/package.json b/packages/oquery/package.json index f3a2929f81..3c429d1aa4 100644 --- a/packages/oquery/package.json +++ b/packages/oquery/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/parse/package.json b/packages/parse/package.json index 3b14c6a2e5..55521409b5 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib combinators presets prims readers xform", "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/paths/package.json b/packages/paths/package.json index d1f59dc896..ea1b202815 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 5b885981e1..055abc8054 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 8adbe31755..f3aae77356 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -38,7 +38,7 @@ "pegtest": "pegjs -o build/src/parser.js src/grammar.pegjs", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 2b2752ac60..ff2f73a586 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/poisson/package.json b/packages/poisson/package.json index dd267c580a..170c19fc21 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index 7d524c9581..1de5764de7 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index 7026f8618e..1814082a3f 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -27,7 +27,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 6c94c640d6..aa93ace1d0 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 80930fbb26..5e27abd4b3 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/random/package.json b/packages/random/package.json index e691e21f3e..248fdc4a26 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index bdd9d807a4..b3ef4e6253 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rdom-canvas/package.json b/packages/rdom-canvas/package.json index 8d75ca3d0e..c9eccc83a6 100644 --- a/packages/rdom-canvas/package.json +++ b/packages/rdom-canvas/package.json @@ -27,7 +27,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/rdom-components/package.json b/packages/rdom-components/package.json index 5e38bb6197..42c3c5a51c 100644 --- a/packages/rdom-components/package.json +++ b/packages/rdom-components/package.json @@ -27,7 +27,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/rdom/package.json b/packages/rdom/package.json index 470388a873..edb799f2eb 100644 --- a/packages/rdom/package.json +++ b/packages/rdom/package.json @@ -33,7 +33,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public", "pub:wip": "yarn publish --access public --no-git-tag-version" }, diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 721c51cb25..60ebfb2b6a 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index 15f6141cf8..6bd449496f 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/router/package.json b/packages/router/package.json index c1a36abaa0..8d81820fe1 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index a73c79c4ee..b2133af5f0 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 1730c6ba86..27293e56eb 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index adfac6a0b5..4e59fdef79 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index a10c9e6ff6..6b391d4fdb 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 9d90bbd2d4..21c784b127 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 7d8aac0014..f011145090 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 8aa4af99a4..c23ab34391 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 480c6c73d6..c4f2b65555 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from subs utils", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/sax/package.json b/packages/sax/package.json index 5fadda1128..06dc1e17d9 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index ca974b15f3..715c518608 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/seq/package.json b/packages/seq/package.json index bd95b49309..973d00c6f9 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index f6b01646e2..1e7d6abf18 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 3664ac4eb0..cc839a905d 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 4aad5802e7..35abd447ce 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 7f11cf7b8e..a422a7f914 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib color fog light math matrix noise raymarch screen sdf tex", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index fbac3fe11c..3ae4390d11 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api ast builtin", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/simd/package.json b/packages/simd/package.json index f78fc9ab65..0936cacb37 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -35,7 +35,7 @@ "cover": "yarn build:test && nyc node --experimental-wasm-simd build/test/*.js && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/soa/package.json b/packages/soa/package.json index 7372504f55..8ebbfe3311 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/sparse/package.json b/packages/sparse/package.json index cf2efec6db..2037a9c8ca 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/strings/package.json b/packages/strings/package.json index 717c2a2392..c9d3df97ce 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/system/package.json b/packages/system/package.json index 4df573e686..f2e8fc0e7a 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index bf5ccaa0bc..5637d1f3bb 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index ff2b9cbb8b..80a11c7060 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index c01960aa86..b59a618cbb 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index b670e3bffd..2e16a71219 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index a8d9ff3acd..f554278ac7 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -34,7 +34,7 @@ "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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 00037d06e7..c73945380e 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/transducers/package.json b/packages/transducers/package.json index e110c1529d..866ecf6702 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib func internal iter rfn xform", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 46809badc9..4d333f1c5f 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index f0ce2a029b..368ae5f2bd 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 59a755d06f..29278ea5b7 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index f357fb463a..7718dd32a5 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index a7e4007564..bcdef5054f 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build && yarn publish --access public" }, diff --git a/packages/webgl/package.json b/packages/webgl/package.json index ff687df565..ca00134521 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -33,7 +33,7 @@ "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api geo shaders textures", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", - "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" }, diff --git a/packages/zipper/package.json b/packages/zipper/package.json index dacc8131ef..9418182455 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -34,7 +34,7 @@ "clean": "rimraf *.js *.d.ts .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 --mode modules --out doc src", + "doc": "node_modules/.bin/typedoc --mode modules --out doc --theme ../../tools/doc/typedoc-theme src", "pub": "yarn build:release && yarn publish --access public" }, "devDependencies": { diff --git a/tools/doc/typedoc-theme/README.md b/tools/doc/typedoc-theme/README.md new file mode 100644 index 0000000000..7292b19a08 --- /dev/null +++ b/tools/doc/typedoc-theme/README.md @@ -0,0 +1,4 @@ +Cloned from https://github.com/TypeStrong/typedoc-default-themes and adjusted for this project: + +- update `partials/analytics.hbs` to use plausible.io +- update `layouts/default.hbs` to move analytics injection to `` diff --git a/tools/doc/typedoc-theme/assets/css/_constants.sass b/tools/doc/typedoc-theme/assets/css/_constants.sass new file mode 100644 index 0000000000..bb97b3f86a --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/_constants.sass @@ -0,0 +1,39 @@ +// Fonts +// +$FONT_FAMILY: 'Segoe UI', sans-serif +$FONT_FAMILY_MONO: Menlo, Monaco, Consolas, 'Courier New', monospace + +$FONT_SIZE: 16px +$FONT_SIZE_MONO: 14px + +$LINE_HEIGHT: 1.333em + + +// Colors +// +$COLOR_BACKGROUND: #fdfdfd +$COLOR_TEXT: #222 +$COLOR_TEXT_ASIDE: #808080 +$COLOR_LINK: #4da6ff + +$COLOR_MENU_DIVIDER: #eee +$COLOR_MENU_DIVIDER_FOCUS: #000 +$COLOR_MENU_LABEL: #808080 + +$COLOR_PANEL: #fff +$COLOR_PANEL_DIVIDER: #eee + +$COLOR_COMMENT_TAG: #808080 +$COLOR_COMMENT_TAG_TEXT: #fff + +$COLOR_CODE_BACKGROUND: rgba(#000, 0.04) + +$COLOR_TS: #9600ff +$COLOR_TS_INTERFACE: #7da01f +$COLOR_TS_ENUM: #cc9900 +$COLOR_TS_CLASS: #4da6ff +$COLOR_TS_PRIVATE: #808080 + +$TOOLBAR_COLOR: #fff +$TOOLBAR_TEXT_COLOR: #333 +$TOOLBAR_HEIGHT: 40px \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_comment.sass b/tools/doc/typedoc-theme/assets/css/elements/_comment.sass new file mode 100644 index 0000000000..2c40e61c05 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_comment.sass @@ -0,0 +1,53 @@ +// Displays all regular comment tags +// +//
+//
see
+//

Dispatcher.EVENT_BEGIN

+//
see
+//

Dispatcher.EVENT_BEGIN_RESOLVE

+//
see
+//

Dispatcher.EVENT_END_RESOLVE

+//
+// +dl.tsd-comment-tags + overflow: hidden + + dt + float: left + padding: 1px 5px + margin: 0 10px 0 0 + border-radius: 4px + border: 1px solid $COLOR_COMMENT_TAG + color: $COLOR_COMMENT_TAG + font-size: 0.8em + font-weight: normal + + dd + margin: 0 0 10px 0 + + &:before, &:after + display: table + content: " " + pre, &:after + clear: both + + p + margin: 0 + + +// Special formatting for the main reflection on each page. +// +//
+//
+//

The default TypeDoc main application class.

+//

This class holds the two main components of TypeDoc, the Dispatcher and the Renderer.

+//
+//
+// +.tsd-panel.tsd-comment .lead + font-size: 1.1em + line-height: $LINE_HEIGHT + margin-bottom: 2em + + &:last-child + margin-bottom: 0 \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_filter.sass b/tools/doc/typedoc-theme/assets/css/elements/_filter.sass new file mode 100644 index 0000000000..12541540a8 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_filter.sass @@ -0,0 +1,65 @@ +// Classes set on the body to control the visible state of the filtered elements +// +.toggle-protected .tsd-is-private + display: none + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected + display: none + +.toggle-inherited .tsd-is-inherited + display: none + +.toggle-only-exported .tsd-is-not-exported + display: none + +.toggle-externals .tsd-is-external + display: none + + +// Filter Buttons in the toolbar +// +#tsd-filter + position: relative + display: inline-block + height: $TOOLBAR_HEIGHT + vertical-align: bottom + + .no-filter & + display: none + + .tsd-filter-group + display: inline-block + height: $TOOLBAR_HEIGHT + vertical-align: bottom + white-space: nowrap + + input + display: none + + +size-xs-sm + .tsd-filter-group + display: block + position: absolute + top: $TOOLBAR_HEIGHT + right: 20px + height: auto + background-color: $COLOR_PANEL + visibility: hidden + transform: translate(50%,0) + box-shadow: 0 0 4px rgba(#000, 0.25) + + .has-options & + visibility: visible + + .to-has-options & + animation: fade-in 0.2s + + .from-has-options & + animation: fade-out 0.2s + + label, + .tsd-select + display: block + padding-right: 20px \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_footer.sass b/tools/doc/typedoc-theme/assets/css/elements/_footer.sass new file mode 100644 index 0000000000..9dd5925ef1 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_footer.sass @@ -0,0 +1,21 @@ +footer + border-top: 1px solid $COLOR_PANEL_DIVIDER + background-color: $COLOR_PANEL + + &.with-border-bottom + border-bottom: 1px solid $COLOR_PANEL_DIVIDER + + .tsd-legend-group + font-size: 0 + + .tsd-legend + display: inline-block + width: 25% + padding: 0 + font-size: $FONT_SIZE + list-style: none + line-height: $LINE_HEIGHT + vertical-align: top + + +size-xs-sm + width: 50% \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_hierarchy.sass b/tools/doc/typedoc-theme/assets/css/elements/_hierarchy.sass new file mode 100644 index 0000000000..891b52bb4c --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_hierarchy.sass @@ -0,0 +1,24 @@ +// Displays the type hierarchy +// +// +// +.tsd-hierarchy + list-style: square + padding: 0 0 0 20px + margin: 0 + + .target + font-weight: bold diff --git a/tools/doc/typedoc-theme/assets/css/elements/_images.sass b/tools/doc/typedoc-theme/assets/css/elements/_images.sass new file mode 100644 index 0000000000..1fa3f017e7 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_images.sass @@ -0,0 +1,3 @@ +// fixes issue with images in readme +img + max-width: 100% diff --git a/tools/doc/typedoc-theme/assets/css/elements/_index.sass b/tools/doc/typedoc-theme/assets/css/elements/_index.sass new file mode 100644 index 0000000000..4d4a0fc4e6 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_index.sass @@ -0,0 +1,79 @@ +// Displays an index of grouped links. +// +//
+//
+//
+//

Constructor methods

+// +//
+// +//
+//
+// +.tsd-index-panel + .tsd-index-content + margin-bottom: -30px !important + + .tsd-index-section + margin-bottom: 30px !important + + h3 + @extend h4 + margin: 0 -20px 10px -20px + padding: 0 20px 10px 20px + border-bottom: 1px solid $COLOR_PANEL_DIVIDER + + ul.tsd-index-list + +vendors(column-count, 3) + +vendors(column-gap, 20px) + padding: 0 + list-style: none + line-height: $LINE_HEIGHT + + +size-xs-sm + +vendors(column-count, 1) + + +size-md + +vendors(column-count, 2) + + li + +vendors(page-break-inside, avoid) + + a, + .tsd-parent-kind-module a + color: $COLOR_TS + + .tsd-parent-kind-interface a + color: $COLOR_TS_INTERFACE + + .tsd-parent-kind-enum a + color: $COLOR_TS_ENUM + + .tsd-parent-kind-class a + color: $COLOR_TS_CLASS + + + .tsd-kind-module a + color: $COLOR_TS + + .tsd-kind-interface a + color: $COLOR_TS_INTERFACE + + .tsd-kind-enum a + color: $COLOR_TS_ENUM + + .tsd-kind-class a + color: $COLOR_TS_CLASS + + .tsd-is-private a + color: $COLOR_TS_PRIVATE diff --git a/tools/doc/typedoc-theme/assets/css/elements/_member.sass b/tools/doc/typedoc-theme/assets/css/elements/_member.sass new file mode 100644 index 0000000000..f351833614 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_member.sass @@ -0,0 +1,21 @@ +.tsd-flag + display: inline-block + padding: 1px 5px + border-radius: 4px + color: $COLOR_COMMENT_TAG_TEXT + background-color: $COLOR_COMMENT_TAG + text-indent: 0 + font-size: $FONT_SIZE_MONO + font-weight: normal + +.tsd-anchor + position: absolute + top: -100px + +.tsd-member + position: relative + + .tsd-anchor + h3 + margin-top: 0 + margin-bottom: 0 + border-bottom: none diff --git a/tools/doc/typedoc-theme/assets/css/elements/_navigation.sass b/tools/doc/typedoc-theme/assets/css/elements/_navigation.sass new file mode 100644 index 0000000000..3f71a44023 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_navigation.sass @@ -0,0 +1,148 @@ +// Base format for the navigation parts. +// +=INDENT($DEPTH, $BASE, $STEP, $PROGRESS:$DEPTH) + @if $PROGRESS > 0 + & li + +INDENT($DEPTH, $BASE, $STEP, $PROGRESS - 1) + @else + & a + padding-left: #{($BASE + $STEP * ($DEPTH - 1))}px + +=INDENTS($COUNT, $BASE, $STEP) + @for $DEPTH from 1 through $COUNT + +INDENT($DEPTH, $BASE, $STEP) + +.tsd-navigation + margin: 0 0 0 40px + + a + display: block + padding-top: 2px + padding-bottom: 2px + border-left: 2px solid transparent + color: $COLOR_TEXT + text-decoration: none + transition: border-left-color 0.1s + + &:hover + text-decoration: underline + + ul + margin: 0 + padding: 0 + list-style: none + + li + padding: 0 + + +// Primary part of the navigation containing the available modules. +// +// +// +.tsd-navigation.primary + padding-bottom: 40px + + a + display: block + padding-top: 6px + padding-bottom: 6px + + ul + +INDENTS(6, 5, 20) + + > ul + border-bottom: 1px solid $COLOR_PANEL_DIVIDER + + li + border-top: 1px solid $COLOR_PANEL_DIVIDER + + &.current > a + font-weight: bold + + &.label span + display: block + padding: 20px 0 6px 5px + color: $COLOR_MENU_LABEL + + &.globals + li > span, + &.globals + li > a + padding-top: 20px + + +// Secondary part of the navigation containing the table of contents +// of the current module. +// Can be made sticky by `typedoc.MenuSticky` and will highlight current sticky with `typedoc.MenuHighlight`. +// +// +// +.tsd-navigation.secondary + max-height: calc(100vh - 1rem - #{$TOOLBAR_HEIGHT}) + overflow: auto + position: -webkit-sticky + position: sticky + top: calc(.5rem + #{$TOOLBAR_HEIGHT}) + transition: .3s + + &.tsd-navigation--toolbar-hide + max-height: calc(100vh - 1rem) + top: .5rem + + ul + +INDENTS(6, 25, 20) + transition: opacity 0.2s + + &.current a + border-left-color: $COLOR_PANEL_DIVIDER + + li.focus > a, + ul.current li.focus > a + border-left-color: $COLOR_MENU_DIVIDER_FOCUS + + li.current + margin-top: 20px + margin-bottom: 20px + border-left-color: $COLOR_PANEL_DIVIDER + + > a + font-weight: bold + + +// Sticky menu setup +// +.menu-sticky-wrap + +size-md-lg + position: static diff --git a/tools/doc/typedoc-theme/assets/css/elements/_panel.sass b/tools/doc/typedoc-theme/assets/css/elements/_panel.sass new file mode 100644 index 0000000000..82ae3d5119 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_panel.sass @@ -0,0 +1,70 @@ +// Displays a panel, an organisation unit in TypeDoc used to group single entities +// like a method or a variable. +// +//
+//

Eirmod tempor invidunt

+//

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.

+//
+// +.tsd-panel + @extend %prevent-children-margin + margin: 20px 0 + padding: 20px + background-color: $COLOR_PANEL + box-shadow: 0 0 4px rgba(#000, 0.25) + + &:empty + display: none + + > h1, > h2, > h3 + margin: 1.5em -20px 10px -20px + padding: 0 20px 10px 20px + border-bottom: 1px solid $COLOR_PANEL_DIVIDER + + &.tsd-before-signature + margin-bottom: 0 + border-bottom: 0 + + table + display: block + width: 100% + overflow: auto + margin-top: 10px + word-break: normal + word-break: keep-all + + th + font-weight: bold + + th, td + padding: 6px 13px + border: 1px solid #ddd + + tr + background-color: #fff + border-top: 1px solid #ccc + + &:nth-child(2n) + background-color: #f8f8f8 + + +// Holds a series of panels with an optional heading. +// +//
+//

Consetetur sadipscing elitr

+//
+//

Eirmod tempor invidunt

+//

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.

+//
+//
+//

Eirmod tempor invidunt

+//

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.

+//
+//
+// +.tsd-panel-group + margin: 60px 0 + + > h1, > h2, > h3 + padding-left: 20px + padding-right: 20px \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_search.sass b/tools/doc/typedoc-theme/assets/css/elements/_search.sass new file mode 100644 index 0000000000..be33a9f9fc --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_search.sass @@ -0,0 +1,89 @@ +#tsd-search + transition: background-color 0.2s + + .title + position: relative + z-index: 2 + + .field + position: absolute + left: 0 + top: 0 + right: 40px + height: 40px + + input + box-sizing: border-box + position: relative + top: -50px + z-index: 1 + width: 100% + padding: 0 10px + opacity: 0 + outline: 0 + border: 0 + background: transparent + color: $COLOR_TEXT + + label + position: absolute + overflow: hidden + right: -40px + + .field input, + .title + transition: opacity 0.2s + + .results + position: absolute + visibility: hidden + top: 40px + width: 100% + margin: 0 + padding: 0 + list-style: none + box-shadow: 0 0 4px rgba(#000, 0.25) + + li + padding: 0 10px + background-color: $COLOR_BACKGROUND + + li:nth-child(even) + background-color: $COLOR_PANEL + + li.state + display: none + + li.current, + li:hover + background-color: $COLOR_PANEL_DIVIDER + + a + display: block + + &:before + top: 10px + + span.parent + color: $COLOR_TEXT_ASIDE + font-weight: normal + + &.has-focus + background-color: $COLOR_PANEL_DIVIDER + + .field input + top: 0 + opacity: 1 + + .title + z-index: 0 + opacity: 0 + + .results + visibility: visible + + &.loading .results li.state.loading + display: block + + &.failure .results li.state.failure + display: block diff --git a/tools/doc/typedoc-theme/assets/css/elements/_signatures.sass b/tools/doc/typedoc-theme/assets/css/elements/_signatures.sass new file mode 100644 index 0000000000..73fb413b4e --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_signatures.sass @@ -0,0 +1,152 @@ +// Wraps a function signature. +// Changes its appearance when directly placed inside a `tsd-panel`. +// Can be combined with class `tsd-kind-icon` to display an icon in front of the signature. +// +//
+//
+// getChildByName( +// name: string +// ): +// DeclarationReflection +//
+//
+// +.tsd-signature + margin: 0 0 1em 0 + padding: 10px + border: 1px solid $COLOR_PANEL_DIVIDER + font-family: $FONT_FAMILY_MONO + font-size: $FONT_SIZE_MONO + overflow-x: auto + + &.tsd-kind-icon + padding-left: 30px + + &:before + top: 10px + left: 10px + + .tsd-panel > & + margin-left: -20px + margin-right: -20px + border-width: 1px 0 + + &.tsd-kind-icon + padding-left: 40px + + &:before + left: 20px + +.tsd-signature-symbol + color: $COLOR_TEXT_ASIDE + font-weight: normal + +.tsd-signature-type + font-style: italic + font-weight: normal + + +// Displays a list of signatures. +// Changes its appearance when directly placed inside a `tsd-panel`. +// Made interactive by JavaScript at `typedoc.Signature`. +// +//
    +//
  • getChildByName(name: string): DeclarationReflection
  • +//
  • getChildByName(names: Array<string>): DeclarationReflection
  • +//
+// +.tsd-signatures + padding: 0 + margin: 0 0 1em 0 + border: 1px solid $COLOR_PANEL_DIVIDER + + .tsd-signature + margin: 0 + border-width: 1px 0 0 0 + transition: background-color 0.1s + + &:first-child + border-top-width: 0 + + &.current + background-color: $COLOR_PANEL_DIVIDER + + &.active > .tsd-signature + cursor: pointer + + .tsd-panel > & + margin-left: -20px + margin-right: -20px + border-width: 1px 0 + + .tsd-signature.tsd-kind-icon + padding-left: 40px + + &:before + left: 20px + + .tsd-panel > a.anchor + & + border-top-width: 0 + margin-top: -20px + + +// Holds the descriptions related to a list of signatures. +// Made interactive by JavaScript at `typedoc.Signature`. +// +//
    +//
  • +//

    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.

    +//
  • +//
  • +//

    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.

    +//
  • +//
+// +ul.tsd-descriptions + position: relative + overflow: hidden + padding: 0 + list-style: none + + > li + @extend %prevent-children-margin + + &.active > .tsd-description + display: none + + &.current + display: block + + &.fade-in + animation: fade-in-delayed 0.3s + + &.fade-out + animation: fade-out-delayed 0.3s + position: absolute + display: block + top: 0 + left: 0 + right: 0 + opacity: 0 + visibility: hidden + + h4 + font-size: $FONT_SIZE + margin: 1em 0 0.5em 0 + +ul.tsd-parameters, +ul.tsd-type-parameters + list-style: square + margin: 0 + padding-left: 20px + + > li.tsd-parameter-signature + list-style: none + margin-left: -20px + + h5 + font-size: $FONT_SIZE + margin: 1em 0 0.5em 0 + + .tsd-comment + margin-top: -0.5em diff --git a/tools/doc/typedoc-theme/assets/css/elements/_sources.sass b/tools/doc/typedoc-theme/assets/css/elements/_sources.sass new file mode 100644 index 0000000000..913193897e --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_sources.sass @@ -0,0 +1,24 @@ +// Displays the source and inheritance information +// +// +// +.tsd-sources + font-size: $FONT_SIZE_MONO + color: $COLOR_TEXT_ASIDE + margin: 0 0 1em 0 + + a + color: $COLOR_TEXT_ASIDE + text-decoration: underline + + ul, p + margin: 0 !important + + ul + list-style: none + padding: 0 \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/elements/_toolbar.sass b/tools/doc/typedoc-theme/assets/css/elements/_toolbar.sass new file mode 100644 index 0000000000..7d7784fe7f --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/elements/_toolbar.sass @@ -0,0 +1,175 @@ +// Displays the toolbar at the top of the page. +// +//
+//
+//
+// +//
+//
+//
+// +.tsd-page-toolbar + position: fixed + z-index: 1 + top: 0 + left: 0 + width: 100% + height: $TOOLBAR_HEIGHT + color: $TOOLBAR_TEXT_COLOR + background: $TOOLBAR_COLOR + border-bottom: 1px solid $COLOR_PANEL_DIVIDER + transition: transform .3s linear + + a + color: $TOOLBAR_TEXT_COLOR + text-decoration: none + + &.title + font-weight: bold + + &.title:hover + text-decoration: underline + + .table-wrap + display: table + width: 100% + height: $TOOLBAR_HEIGHT + + .table-cell + display: table-cell + position: relative + white-space: nowrap + line-height: $TOOLBAR_HEIGHT + + &:first-child + width: 100% + +.tsd-page-toolbar--hide + transform: translateY(-100%) + +%TSD_WIDGET_ICON + &:before + content: '' + display: inline-block + width: 40px + height: 40px + margin: 0 -8px 0 0 + background-image: url(../images/widgets.png) + background-repeat: no-repeat + text-indent: -1024px + vertical-align: bottom + + +retina + background-image: url(../images/widgets@2x.png) + background-size: 320px 40px + +.tsd-widget + @extend %TSD_WIDGET_ICON + display: inline-block + overflow: hidden + opacity: 0.6 + height: $TOOLBAR_HEIGHT + transition: opacity 0.1s, background-color 0.2s + vertical-align: bottom + cursor: pointer + + &:hover + opacity: 0.8 + + &.active + opacity: 1 + background-color: $COLOR_PANEL_DIVIDER + + &.no-caption + width: 40px + + &:before + margin: 0 + + &.search:before + background-position: 0 0 + + &.menu:before + background-position: -40px 0 + + &.options:before + background-position: -80px 0 + + &.options, + &.menu + display: none + + +size-xs-sm + display: inline-block + + input[type=checkbox] + &:before + background-position: -120px 0 + + input[type=checkbox]:checked + &:before + background-position: -160px 0 + +.tsd-select + position: relative + display: inline-block + height: $TOOLBAR_HEIGHT + transition: opacity 0.1s, background-color 0.2s + vertical-align: bottom + cursor: pointer + + .tsd-select-label + @extend %TSD_WIDGET_ICON + opacity: 0.6 + transition: opacity 0.2s + + &:before + background-position: -240px 0 + + &.active + .tsd-select-label + opacity: 0.8 + + .tsd-select-list + visibility: visible + opacity: 1 + transition-delay: 0s + + .tsd-select-list + position: absolute + visibility: hidden + top: $TOOLBAR_HEIGHT + left: 0 + margin: 0 + padding: 0 + opacity: 0 + list-style: none + box-shadow: 0 0 4px rgba(#000, 0.25) + transition: visibility 0s 0.2s, opacity 0.2s + + li + @extend %TSD_WIDGET_ICON + padding: 0 20px 0 0 + background-color: $COLOR_BACKGROUND + + &:before + background-position: 40px 0 + + &:nth-child(even) + background-color: $COLOR_PANEL + + &:hover + background-color: $COLOR_PANEL_DIVIDER + + &.selected:before + background-position: -200px 0 + + +size-xs-sm + .tsd-select-list + top: 0 + left: auto + right: 100% + margin-right: -5px + + .tsd-select-label:before + background-position: -280px 0 \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/layouts/_default.sass b/tools/doc/typedoc-theme/assets/css/layouts/_default.sass new file mode 100644 index 0000000000..9bf0249885 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/layouts/_default.sass @@ -0,0 +1,113 @@ +html.default + +size-md + .col-content + width: 72% + + .col-menu + width: 28% + + .tsd-navigation + padding-left: 10px + + +size-xs-sm + .col-content + float: none + width: 100% + + .col-menu + position: fixed !important + overflow: auto + -webkit-overflow-scrolling: touch + z-index: 1024 + top: 0 !important + bottom: 0 !important + left: auto !important + right: 0 !important + width: 100% + padding: 20px 20px 0 0 + max-width: 450px + visibility: hidden + background-color: $COLOR_PANEL + transform: translate(100%,0) + + > *:last-child + padding-bottom: 20px + + .overlay + content: '' + display: block + position: fixed + z-index: 1023 + top: 0 + left: 0 + right: 0 + bottom: 0 + background-color: rgba(#000, 0.75) + visibility: hidden + + &.to-has-menu + .overlay + animation: fade-in 0.4s + + header, + footer, + .col-content + animation: shift-to-left 0.4s + + .col-menu + animation: pop-in-from-right 0.4s + + &.from-has-menu + .overlay + animation: fade-out 0.4s + + header, + footer, + .col-content + animation: unshift-to-left 0.4s + + .col-menu + animation: pop-out-to-right 0.4s + + &.has-menu + body + overflow: hidden + + .overlay + visibility: visible + + header, + footer, + .col-content + transform: translate(-25%, 0) + + .col-menu + visibility: visible + transform: translate(0,0) + +.tsd-page-title + padding: 70px 0 20px 0 + margin: 0 0 40px 0 + background: $COLOR_PANEL + box-shadow: 0 0 5px rgba(#000, 0.35) + + h1 + margin: 0 + +.tsd-breadcrumb + margin: 0 + padding: 0 + color: $COLOR_TEXT_ASIDE + + a + color: $COLOR_TEXT_ASIDE + text-decoration: none + + &:hover + text-decoration: underline + + li + display: inline + + &:after + content: ' / ' diff --git a/tools/doc/typedoc-theme/assets/css/layouts/_minimal.sass b/tools/doc/typedoc-theme/assets/css/layouts/_minimal.sass new file mode 100644 index 0000000000..37484f0d98 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/layouts/_minimal.sass @@ -0,0 +1,49 @@ +html.minimal + .container + margin: 0 + + .container-main + padding-top: 50px + padding-bottom: 0 + + .content-wrap + padding-left: 300px + + .tsd-navigation + position: fixed !important + overflow: auto + -webkit-overflow-scrolling: touch + box-sizing: border-box + z-index: 1 + left: 0 + top: 40px + bottom: 0 + width: 300px + padding: 20px + margin: 0 + + .tsd-member .tsd-member + margin-left: 0 + + .tsd-page-toolbar + position: fixed + z-index: 2 + + #tsd-filter .tsd-filter-group + right: 0 + transform: none + + footer + background-color: transparent + + .container + padding: 0 + + .tsd-generator + padding: 0 + + +size-xs-sm + .tsd-navigation + display: none + .content-wrap + padding-left: 0 diff --git a/tools/doc/typedoc-theme/assets/css/main.sass b/tools/doc/typedoc-theme/assets/css/main.sass new file mode 100644 index 0000000000..8fcf335292 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/main.sass @@ -0,0 +1,27 @@ +@import constants + +@import vendors/normalize +@import vendors/highlight.js + +@import setup/mixins +@import setup/grid +@import setup/icons +@import setup/animations +@import setup/typography + +@import layouts/default +@import layouts/minimal + +@import elements/comment +@import elements/filter +@import elements/footer +@import elements/hierarchy +@import elements/index +@import elements/member +@import elements/navigation +@import elements/panel +@import elements/search +@import elements/signatures +@import elements/sources +@import elements/toolbar +@import elements/images diff --git a/tools/doc/typedoc-theme/assets/css/setup/_animations.sass b/tools/doc/typedoc-theme/assets/css/setup/_animations.sass new file mode 100644 index 0000000000..cbfaf7c773 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/setup/_animations.sass @@ -0,0 +1,54 @@ +@keyframes fade-in + from + opacity: 0 + to + opacity: 1 + +@keyframes fade-out + from + opacity: 1 + visibility: visible + to + opacity: 0 + +@keyframes fade-in-delayed + 0% + opacity: 0 + 33% + opacity: 0 + 100% + opacity: 1 + +@keyframes fade-out-delayed + 0% + opacity: 1 + visibility: visible + 66% + opacity: 0 + 100% + opacity: 0 + +@keyframes shift-to-left + from + transform: translate(0,0) + to + transform: translate(-25%,0) + +@keyframes unshift-to-left + from + transform: translate(-25%,0) + to + transform: translate(0,0) + +@keyframes pop-in-from-right + from + transform: translate(100%,0) + to + transform: translate(0,0) + +@keyframes pop-out-to-right + from + transform: translate(0,0) + visibility: visible + to + transform: translate(100%,0) \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/setup/_grid.sass b/tools/doc/typedoc-theme/assets/css/setup/_grid.sass new file mode 100644 index 0000000000..5b9177e0cf --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/setup/_grid.sass @@ -0,0 +1,60 @@ +=size-xs + @media (max-width: 640px) + & + @content + +=size-sm + @media (min-width: 641px) and (max-width: 900px) + & + @content + +=size-md + @media (min-width: 901px) and (max-width: 1024px) + & + @content + +=size-lg + @media (min-width: 1025px) + & + @content + +=size-xs-sm + @media (max-width: 900px) + & + @content + +=size-md-lg + @media (min-width: 901px) + & + @content + +.container + max-width: 1200px + margin: 0 auto + padding: 0 40px + + +size-xs + padding: 0 20px + +.container-main + padding-bottom: 200px + +.row + +clearfix + display: flex + position: relative + margin: 0 -10px + +.col + @extend %prevent-children-margin + box-sizing: border-box + float: left + padding: 0 10px + +@for $width from 1 to 12 + .col-#{$width} + @extend .col + width: $width / 12 * 100% + + .offset-#{$width} + margin-left: $width / 12 * 100% \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/setup/_icons.scss b/tools/doc/typedoc-theme/assets/css/setup/_icons.scss new file mode 100644 index 0000000000..e2f115c5dd --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/setup/_icons.scss @@ -0,0 +1,166 @@ +$type-icons: + (object-literal), + (class), + ('class.tsd-has-type-parameter'), + (interface), + ('interface.tsd-has-type-parameter'), + (namespace, module), + (enum), + (enum-member), + (signature), + (type-alias), + ('type-alias.tsd-has-type-parameter'); + +$member-icons: + (variable, property), + (get-signature), + (set-signature), + (accessor), + (function, method, call-signature), + ('function.tsd-has-type-parameter', 'method.tsd-has-type-parameter'), + (constructor, constructor-signature), + (index-signature), + (event), + (property), + (function, method, call-signature), + (event); + +// parameter +// type-literal +// type-parameter + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; + + &:before { + content: ''; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); + + @include retina { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +$icon-size: 17px; +$type: -0 * $icon-size; +$type-protected: -1 * $icon-size; +$type-private: -2 * $icon-size; +$member-class-public: -3 * $icon-size; +$member-class-public-inherited: -4 * $icon-size; +$member-class-protected: -5 * $icon-size; +$member-class-protected-inherited: -6 * $icon-size; +$member-private: -7 * $icon-size; +$member: -8 * $icon-size; +$member-protected: -9 * $icon-size; +$member-enum: -10 * $icon-size; +$member-enum-protected: -11 * $icon-size; +$member-interface: -12 * $icon-size; +$member-interface-inherited: -13 * $icon-size; + + +@for $index from 1 through length($type-icons) { + @each $kind in nth($type-icons, $index) { + $selector: '.tsd-kind-' + $kind; + $offset: -#{17 * ($index)}px; + + #{$selector} { + > .tsd-kind-icon:before { + background-position: $type $offset; + } + + &.tsd-is-protected > .tsd-kind-icon:before { + background-position: $type-protected $offset; + } + + &.tsd-is-private > .tsd-kind-icon:before { + background-position: $type-private $offset; + } + } + } +} + +@for $index from 1 through length($member-icons) { + @each $kind in nth($member-icons, $index) { + $offset: -#{17 * ($index - 1)}px; + $selector: '.tsd-kind-' + $kind; + @if $index == 10 { + $selector: '.tsd-is-static'; + } @else if $index > 10 { + $selector: '.tsd-is-static.tsd-kind-' + $kind; + } + + #{$selector} { + > .tsd-kind-icon:before { + background-position: $member $offset; + } + + &.tsd-is-protected > .tsd-kind-icon:before { + background-position: $member-protected $offset; + } + + &.tsd-is-private > .tsd-kind-icon:before { + background-position: $member-private $offset; + } + + &.tsd-parent-kind-class { + > .tsd-kind-icon:before { + background-position: $member-class-public $offset; + } + + &.tsd-is-inherited > .tsd-kind-icon:before { + background-position: $member-class-public-inherited $offset; + } + + &.tsd-is-protected > .tsd-kind-icon:before { + background-position: $member-class-protected $offset; + } + + &.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: $member-class-protected-inherited $offset; + } + + &.tsd-is-private > .tsd-kind-icon:before { + background-position: $member-private $offset; + } + } + + &.tsd-parent-kind-enum { + > .tsd-kind-icon:before { + background-position: $member-enum $offset; + } + + &.tsd-is-protected > .tsd-kind-icon:before { + background-position: $member-enum-protected $offset; + } + + &.tsd-is-private > .tsd-kind-icon:before { + background-position: $member-private $offset; + } + } + + &.tsd-parent-kind-interface { + > .tsd-kind-icon:before { + background-position: $member-interface $offset; + } + + &.tsd-is-inherited > .tsd-kind-icon:before { + background-position: $member-interface-inherited $offset; + } + } + } + } +} diff --git a/tools/doc/typedoc-theme/assets/css/setup/_mixins.sass b/tools/doc/typedoc-theme/assets/css/setup/_mixins.sass new file mode 100644 index 0000000000..94cb8d21e2 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/setup/_mixins.sass @@ -0,0 +1,30 @@ +@mixin vendors($property, $value...) + -webkit-#{$property}: $value + -moz-#{$property}: $value + -ms-#{$property}: $value + -o-#{$property}: $value + #{$property}: $value + +@mixin clearfix + &:after + visibility: hidden + display: block + content: "" + clear: both + height: 0 + +@mixin retina + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) + & + @content + +%prevent-children-margin + > :first-child, + > :first-child > :first-child, + > :first-child > :first-child > :first-child + margin-top: 0 + + > :last-child, + > :last-child > :last-child, + > :last-child > :last-child > :last-child + margin-bottom: 0 diff --git a/tools/doc/typedoc-theme/assets/css/setup/_typography.sass b/tools/doc/typedoc-theme/assets/css/setup/_typography.sass new file mode 100644 index 0000000000..c05225d7d2 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/setup/_typography.sass @@ -0,0 +1,45 @@ +body + background: $COLOR_BACKGROUND + font-family: $FONT_FAMILY + font-size: $FONT_SIZE + color: $COLOR_TEXT + +a + color: $COLOR_LINK + text-decoration: none + + &:hover + text-decoration: underline + +code, pre + font-family: $FONT_FAMILY_MONO + padding: 0.2em + margin: 0 + font-size: $FONT_SIZE_MONO + background-color: $COLOR_CODE_BACKGROUND + +pre + padding: 10px + + code + padding: 0 + font-size: 100% + background-color: transparent + +.tsd-typography + line-height: $LINE_HEIGHT + + ul + list-style: square + padding: 0 0 0 20px + margin: 0 + + h4, h5, h6 + font-size: 1em + margin: 0 + + h5, h6 + font-weight: normal + + p, ul, ol + margin: 1em 0 \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/vendors/_highlight.js.sass b/tools/doc/typedoc-theme/assets/css/vendors/_highlight.js.sass new file mode 100644 index 0000000000..d093f7a57c --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/vendors/_highlight.js.sass @@ -0,0 +1,50 @@ +/* + * + *Visual Studio-like style based on original C# coloring by Jason Diamond + +.hljs + display: inline-block + padding: 0.5em + background: white + color: black + +.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket + color: #008000 + +.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title + color: #00f + +.xml .hljs-tag + color: #00f + .hljs-value + color: #00f + +.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value + color: #a31515 + +.ruby .hljs-symbol + color: #a31515 + .hljs-string + color: #a31515 + +.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute + color: #a31515 + +.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt + color: #2b91af + +.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag + color: #808080 + +.vhdl + .hljs-typename + font-weight: bold + .hljs-string + color: #666666 + .hljs-literal + color: #a31515 + .hljs-attribute + color: #00b0e8 + +.xml .hljs-attribute + color: #f00 \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/css/vendors/_normalize.sass b/tools/doc/typedoc-theme/assets/css/vendors/_normalize.sass new file mode 100644 index 0000000000..6ce844af3a --- /dev/null +++ b/tools/doc/typedoc-theme/assets/css/vendors/_normalize.sass @@ -0,0 +1,424 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize + +/* ========================================================================== + * HTML5 display definitions + * ========================================================================== + +/** + * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. + +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary + display: block + +/** + * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + +audio, canvas, video + display: inline-block + *display: inline + *zoom: 1 + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + +audio:not([controls]) + display: none + height: 0 + +/** + * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * Known issue: no IE 6 support. + +[hidden] + display: none + +/* ========================================================================== + * Base + * ========================================================================== + +/** + * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + +html + font-size: 100% + /* 1 + -ms-text-size-adjust: 100% + /* 2 + -webkit-text-size-adjust: 100% + /* 2 + font-family: sans-serif + +/** + * Address `font-family` inconsistency between `textarea` and other form + * elements. + +button, input, select, textarea + font-family: sans-serif + +/** + * Address margins handled incorrectly in IE 6/7. + +body + margin: 0 + +/* ========================================================================== + * Links + * ========================================================================== + +/** + * Address `outline` inconsistency between Chrome and other browsers. + +a + &:focus + outline: thin dotted + &:active, &:hover + outline: 0 + +/** + * Improve readability when focused and also mouse hovered in all browsers. + +/* ========================================================================== + * Typography + * ========================================================================== + +/** + * Address font sizes and margins set differently in IE 6/7. + * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * and Chrome. + +h1 + font-size: 2em + margin: 0.67em 0 + +h2 + font-size: 1.5em + margin: 0.83em 0 + +h3 + font-size: 1.17em + margin: 1em 0 + +h4 + font-size: 1em + margin: 1.33em 0 + +h5 + font-size: 0.83em + margin: 1.67em 0 + +h6 + font-size: 0.67em + margin: 2.33em 0 + +/** + * Address styling not present in IE 7/8/9, Safari 5, and Chrome. + +abbr[title] + border-bottom: 1px dotted + +/** + * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. + +b, strong + font-weight: bold + +blockquote + margin: 1em 40px + +/** + * Address styling not present in Safari 5 and Chrome. + +dfn + font-style: italic + +/** + * Address differences between Firefox and other browsers. + * Known issue: no IE 6/7 normalization. + +hr + -moz-box-sizing: content-box + box-sizing: content-box + height: 0 + +/** + * Address styling not present in IE 6/7/8/9. + +mark + background: #ff0 + color: #000 + +/** + * Address margins set differently in IE 6/7. + +p, pre + margin: 1em 0 + +/** + * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. + +code, kbd, pre, samp + font-family: monospace, serif + _font-family: 'courier new', monospace + font-size: 1em + +/** + * Improve readability of pre-formatted text in all browsers. + +pre + white-space: pre + white-space: pre-wrap + word-wrap: break-word + +/** + * Address CSS quotes not supported in IE 6/7. + +q + quotes: none + &:before, &:after + content: '' + content: none + +/** + * Address `quotes` property not supported in Safari 4. + +/** + * Address inconsistent and variable font size in all browsers. + +small + font-size: 80% + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + +sub + font-size: 75% + line-height: 0 + position: relative + vertical-align: baseline + +sup + font-size: 75% + line-height: 0 + position: relative + vertical-align: baseline + top: -0.5em + +sub + bottom: -0.25em + +/* ========================================================================== + * Lists + * ========================================================================== + +/** + * Address margins set differently in IE 6/7. + +dl, menu, ol, ul + margin: 1em 0 + +dd + margin: 0 0 0 40px + +/** + * Address paddings set differently in IE 6/7. + +menu, ol, ul + padding: 0 0 0 40px + +/** + * Correct list images handled incorrectly in IE 7. + +nav + ul, ol + list-style: none + list-style-image: none + +/* ========================================================================== + * Embedded content + * ========================================================================== + +/** + * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * 2. Improve image quality when scaled in IE 7. + +img + border: 0 + /* 1 + -ms-interpolation-mode: bicubic +/* 2 + +/** + * Correct overflow displayed oddly in IE 9. + +svg:not(:root) + overflow: hidden + +/* ========================================================================== + * Figures + * ========================================================================== + +/** + * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. + +figure, form + margin: 0 + +/* ========================================================================== + * Forms + * ========================================================================== + +/** + * Correct margin displayed oddly in IE 6/7. + +/** + * Define consistent border, margin, and padding. + +fieldset + border: 1px solid #c0c0c0 + margin: 0 2px + padding: 0.35em 0.625em 0.75em + +/** + * 1. Correct color not being inherited in IE 6/7/8/9. + * 2. Correct text not wrapping in Firefox 3. + * 3. Correct alignment displayed oddly in IE 6/7. + +legend + border: 0 + /* 1 + padding: 0 + white-space: normal + /* 2 + *margin-left: -7px +/* 3 + +/** + * 1. Correct font size not being inherited in all browsers. + * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improve appearance and consistency in all browsers. + +button, input, select, textarea + font-size: 100% + /* 1 + margin: 0 + /* 2 + vertical-align: baseline + /* 3 + *vertical-align: middle +/* 3 + +/** + * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + +button, input + line-height: normal + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + +button, select + text-transform: none + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + +button, html input[type="button"] + -webkit-appearance: button + /* 2 + cursor: pointer + /* 3 + *overflow: visible +/* 4 + +input + &[type="reset"], &[type="submit"] + -webkit-appearance: button + /* 2 + cursor: pointer + /* 3 + *overflow: visible +/* 4 + +/** + * Re-set default cursor for disabled elements. + +button[disabled], html input[disabled] + cursor: default + +/** + * 1. Address box sizing set to content-box in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * 3. Remove excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + +input + &[type="checkbox"], &[type="radio"] + box-sizing: border-box + /* 1 + padding: 0 + /* 2 + *height: 13px + /* 3 + *width: 13px + /* 3 + &[type="search"] + -webkit-appearance: textfield + /* 1 + -moz-box-sizing: content-box + -webkit-box-sizing: content-box + /* 2 + box-sizing: content-box + &::-webkit-search-cancel-button, &::-webkit-search-decoration + -webkit-appearance: none + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + +/** + * Remove inner padding and border in Firefox 3+. + +button::-moz-focus-inner, input::-moz-focus-inner + border: 0 + padding: 0 + +/** + * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * 2. Improve readability and alignment in all browsers. + +textarea + overflow: auto + /* 1 + vertical-align: top +/* 2 + +/* ========================================================================== + * Tables + * ========================================================================== + +/** + * Remove most spacing between table cells. + +table + border-collapse: collapse + border-spacing: 0 diff --git a/tools/doc/typedoc-theme/assets/images/icons.png b/tools/doc/typedoc-theme/assets/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..3836d5fe46e48bbe186116855aae879c23935327 GIT binary patch literal 9615 zcmZ{Kc_36>+`rwViHMAd#!?~-${LfgP1$7)F~(N1WKRsT#$-?;yNq3ylq}iztr1xY z8DtsBI<`UHtDfii{r-60Kg@OSJ?GqW=bZ2NvwY{NzOLpergKbGR8*&KBGn9m;|lQC z2Vwv|y`nSufCHVQijE2uRauuTeKZL;=kiiF^SbTk;N^?*u%}Y7bF;O-aMK0lXm4nb zvU~Kf+x|Kgl@Ro%nu?L%x8-yetd((kCqY|t;-%}@Y3Ez_m(HTRt=ekeUQ2n4-aRvJ zrlKaWct8JSc8Kxl4KHu+3VW1L`9%n~_KC5}g6&tFXqyKT-}R0?EdkYqCmQot47^9Z z6;opqR@7Nq-s|6=e6*0^`}+X1kg>CpuGnbpL7{xFTa|8nymC0{xgx*tI7n4mTKZNA znsd@3eVsV>YhATuv~+5(^Vu4j?)Tn`{x@8ijIA;wdf`+0P3$vnSrcWFXXc{Lx`1Z7 z%-n(BM(owD$7LzqJx)(f^Cusecq>OW z=h6n4YzSVM-V!-DK(sLT`!W~}($=O$9|ie`>_fpH0=1G1tiIFw($?~{5T>`74|p0H z``5=UydE)!CiFvmECW|s^TzG9*7pN|KknkVm3C{fEu30gffX&8iCm? zTFPm6*k%Hog`Q6JGj@dg9Z5nlAc6ApUe>;6xauB0-u!?wMU92jVL|3EcP9gEu5^wH z%tXRy#>HCEs*?KgMf73UcJ!lJ?x<6+)eJ{mEIS|HMDP7(7!(< z@X;?ACT8mncW9*XIaiJPW}Mw@b0W||)!sYnLw)0j4&-rXQgJhnQ2?frg1Nfk&JpmV8F=dDZl)e%#Grs|&0th7_o) z?7hQn<1078qcq?#;)CH=2kBBiGt37EtcXfpTXtHB59dr9=B~jI`yPm-Q?(ys=ajAu zGY;eS^z&WFvztZI3I~}*l}_lI^}6D<&CZ94;|&G9_pMx!C~$~EL4^8`QjT#|tqxxk zhl4CdxppbDiOk!Ht#SVAK4gf6Cr#=U&1sVxZ`y-X zTSi#@wHf(?(Dd6ypNOyshRZ*tneVP^W?y?$ur_!9iD-vY{&Q5(ooX2;`SkUjwEYA~ zwGcylCT4_`MZobm(0v$U(IhfYXxyjNJ@ztpH0sDmfpn|LMp3eM(R4uqKi_q1=D1-d z%GdV<&2+_9k@sc44xhIjqktRA2!Su|vzM0R-@#MK&{RdLoU#$Hc?{{JItvX{hKCtc zQNqZpkfG^@LGJRZM4H_>`F=N;O*+_`>M_ko_XWCgu@}ntqLX8VSeZQ_25Z8|^!d?o z$~}~9|`ZW9d_o<=8&K^~;Cr08b;qgq{(*e*sNt00lO2lZ;m-b<`Rl}=Lr6iQ8+$&br z!RLn{5a}j1Dh^|_1)Q?<;iBSrS0V|c_D@3}mc2d!%tV1VN?BC@clkFdx?HB&9KOTF z)9eHpmUEYsCqx^%JHuNdwY zz9P3oPYuTAXZVY}LRp&2qNl$pbsXL1GJ@wx?@CTO!acs+OFfW_U6?&As-(GJED}RR zO}B+Kxph7aUUm>i3rbPZQGXN}oQq;u`yTnFDAJ*d$4gjEJH!JPyt6V{cOUp*Jbyol zE$8wh)T=vpJOWRbv}HvR(cUSlO}ePIPdJ`J@yp=IC&E6K%r?QfW7F&%p!H~@?%yj5 z&MpiV!hyfukD56A097f!0+ANt`JSB~oLak75oKQN7FH=rQbX#Eak37|4&mqp@S~TA zOo51)xQxX}5NQ(3I_UeR4B;P0Q#x$_lDce78ET`Blo;`Hj*R;b8slZS7Oak(LjDuE z3z?-~-U@vWe*cEOsf^9|duH9};Pe)!=Ky+QQ!jr2VV-jMUH-F>oB>Ds zDJw}jm%V?OT^fu1y`$`yRdaW03L?)6vmInxhAsGrPhWIP8?=speMFf9Inn4^t zs$!88*B~c1A2J6t0~hgK2BJ_Pl23l=oeQQqjI2(4Mcv6U_#9#$PEN|qz36rCZ5$@I zNF1LpRe%ZG4qwuYr7ZdaynrPs?spt;9VbQM$462zbksMVhAOqPunrR7@Nbv#5;VKk zJB7xC?~QXd(e9REiLixHxRGhLcKR#0va}|LMS`AXKGOIGFKQv?=+>zf^ zN5XLjX6^`zh*%1UG_QV1H`@z!HZgC+OT2`+_B( z)J95hk;3C+K4XCswSP}au;fx=47~*$k`RAaYEU-qb03y0#x|&>LAeiXgri5E(!h9k z|9OVt@sk1-4+>0?ELyw|zs`~<95M=%o?Gix$?8z4Gz3Kpw|b>?BcD&s{X)-aXg!GJ zyq&`ZEP{K^u7ActXP$gGnO#F0Sr+QUZe0&d5*Yhw9A?C4(Sx2j3QKAlUpkQz7nji^ z%y8F|W{ypj(T%Bf#Wgyvq4szMo?*U-;3IGBRg1fK9!h-=YRsZ_+t~2!-)=pr;)Vnk zmt95&wMb02toOf`I9>M^Kv3LqKb_-#jauF&cGrWsCnMt?p7*uh zevugda={D04DB#7wR375=1i5}Z9fi3r)!F#7qmX9`SjppE&%8l8bKt+ADRMTWRv21 z4L&PldV8YpHw3b^`p0uWlIm#J&K65-y4lQW0VzZR!4#gfeT{b#fL1e*)Z*Ux}M^}bO%OM7uXip_4! zL@yo@q{utZeVV?3CtXs}i>nI|%26fwuzt0f#96fQ!{=dEX^YKnvIk*D%y9Cin;9R) zi{?)baJhgFs$1$SOZESTpldw2H&FD=v*v@1cA!`|s;avDKHa>Q+uJ8qhy!9%C4&lJSTN4OeydYOm4S?Bj7*e{xRYbU9Xos)R7qZT3dBBD5{ zo+(E3pR{>>)}hFhE+}!yYP0V+CVhyAq+RV{^X`XA3{iXj(ir$k@u|t8ZJ1ZnHq2dd zD$0RHmGJ=!?T5`*T2zOEJ~y}Nsyt7O)%+!0ulRQdsopJJxoznfpusv=2@zLXIq@^& z>0T5k4lzGCG(DnltLIe@6=ZOG@C(dvmYXfh4IhJfMfY8S?KkT znb7~EDE}Yhg$J1LxB7m`L4VMS(+(SXTQvh_mz!x&M3-6Z zFRB*a%_gVEqI^mL5|c%V=l_oi%|~h>gL0SB4QH5uonWd#={KPg6}6ES)zk0~#3^KJ zJq@{iqbHe3gyC))jeQ`W;(u3|q)JxuF24|GMsh%v5>>VY-bok%* z1Yl@(5G2UCK=fQck}pAyWV0n{`ML|rsl_N7vmW|frii__zB;ozrQ7{z)y}M^Sg@m_ z;+?{q3sUZs3WxnBbp~CyyL(TA?C*0KIeDPp7w0$!Ijd+M8#}r~vYW)NB*$mG*7-vH z@s^wK07OMxq>WveCEQFQ*p&2gjD1j%i+#G9z##Th`gew>H5=`RwyfPDg2G%f>x3@c z14Oy}pQK?(i06GWLWu%4cGjDoE-tTEI$`9^E?nLT663vu_>6K1e!N>A-^q&tfl$0& zy&>w~+yUelAa!c@xd8iyt^`B^$cj+}h}0i!40K2Ve1KFCDezBzZO8@=k&r)`TNTJ* zzF4Pim>SYL^=~7kW>EyiVHXNMT2)8l#v^IW!pLB_8ZvVfK&m8QHkjsZ)mvd?o$VYG zX#HiWwWlW>N{D85URJ-d)}_3h73|)X=E(6hFzi#TF{$4aSka4TeY>1a_(RIkFBL#O zE0_FoSQI)}+si51ufAqRHhDU=actTRQl@y#2h}xaDv-A&GP&0Qu9V4ED5aWnX z1E#mRT1QSvL!4~%Ozt84nP{&F>VIm6w2q!EPhh^BF-94$4JhCTcrdbDXA3Q&8mPTh zqdPv|X}??B?bIZPpl}z%(zr<8U-NoXjb*L#xyqHHfpIGAgN$5i(E9#rYPYq_tISC4 z2TDkd*uZ;CIhVI2o!||T)Kz`ER@%rTf-&SfmJFF>;d(RW(B6k!1<)uxHM_1G+9BWe zc)k`gBxYMcztqY5@jccaU)CqQ@^G5TBVx(nNf2}D@);3+{D)GzyT{>%dO6ibggS({N!!=P4=M8J}5R*&fgd(w36z0M0D$ z(SN5a`i%sZ9vmaEjiC4)DF}ix&`?mc-vYwK@+}8Gqzj6r6y)lT|Iqwlpj(LXqvh;- zb>jECiiOZ%&Q7gQg7(ix-?-RE*c(O6NG0F-+VCr;701@%L~fyfHnU<;Vk`m3A2{1MSmpii@G*k?KDq0GdZ)|hd`8OHep z8@6wv_|9NKNpe*sc#?zZ1S#}*qk{k<(I99u6(QT#>wf9w^u9~9_>;2d20T=^g-;b5 ze9x~fHZ-JL=J`hq-;W{2SgN)&m9RsVo=%?`JYp`pxEA_>`18Y>XA$rfWm^pQfG3MQ zxT^I1*({tZz2}+!5$AyNUE*jiYwu_S8v<#qZS4e!bGGBdY`3RkgLMf%Kz8s-;7PF+ z6w#-FwV#)PiKGR79miXmrDyv=ZTjc)j>N=&h4F+#G;unBZhhZz?a*;8@bi5`fV4)O zuU5pCs;tvRzbV@P5%W5xLI4I+w*^KExeVlzP4kNRGp-wi3g$lf-I|(o`JQ|u^XfkP zcik+g-5~2lG*oHfjLCpfNalFwz=4ZY>$Rc-QGpws&tCfFZUuJDL)3et%ap*$Q=-v0 zgLfsn-&%#+wnox~@)6ppx30sK(UJg1dCAvQF&}DkoPI+uX_wH))iaYvWtl}BtVKpU&MN= z0GdENbhdLgIwL-#_phGK;mZRlk4zq8*)akvV5zRX@jFUmvcr#3p99P@4z@m|bz-)^ zbZl8Wt?hR*z(sEZl;2PaILIG#835i@YoZQ@EwrD9IOBl7BpJX(ilLgcd)KCZAzo^b z6Z{|~=H;$D2dD53tejr_jx7^y-zT{SNZpNjn4+wJQX~K#LcrlKOv=D5xk%QXD{tg; z+xh`PvMV*HC*rF?xyjK5@KsMl5*w`r@wL#r13uFpso~#^oYIFc^&gGNS825eqFttU2_sG%_ z;X8VXD#Ol4X&$2B_Z$*&-)ZIUXf9I%mOOXJ3O%GbGpJfl+9(jY^fF_(b!Gt{{HAA3 zusUOCPDHYT@&*H~7a050c7r-_CaFACp$BXx)5==@fC11Gn|n~~+u@6N-}lvdyl3&6 z<#c_zm0Xp1F!8o2OBbFfgzzC4vno}9XEf40dGaVo;jiwiazo8hZ~iPVD(re=5k;H| zotm286$6nnTeIw>1FY$Ri|t{Lp?o(Fg3g_>|y~Z+16tvyLc@r?t9g7 zBuXyVuu9bC#q`?@OFIhgS)6v^XP@H0ukl2X!RPMsg%`YHMGad z4{VsgxaprFss3X%HbZablb6IdaNdbISVWp7yQXPPn=s7?J9qLEH{4>XAv8}%h&TDg zs()1sh}4at3nL3^%q!?P9BbW80e*ZwU63}CV7pt}gVu;~V6c$9p+*wfhw!zeE-z|V z=k{Ksec2)$Hu&?pRh;*TPk0T$Fc~^oAoBT4q?-Q}Y&3DluXeoMQ0LesTk}pVlf5(I z$dl8;zA0&=L&z*F*H>W7IeiPhTo@P0VTB~vyC2Bm7lCN}t7@NNlKFSHGKkh?z_qij zoYju!#D4b28cdslLdIM5Cmqe&!v^IcRr=qq^?l+P^n@6}fh@)IS81hx)SPAY7osk0)^ulqC1F*{hBNQl+Y}b>XjVXnS_Cc!L zIZ@Jq#mp^E&fKT~t4DM_^S17R@YJ@`(7;zv1mz_Y=~q*Gdg#*yXGxotY=#F|lvhPM zjlE)VHS=8=)njE^c7M|ZiBqARx>9Ib!y91$70iC8jPi$c+ysP}5Q3s`ti&1sx>~oG zI^>^1onS%G`mtq&)cZ15dZ{X^#MOfatyH0I=l%Q)n z7*@kZtC_3?=J_}?_G@?F?UK<0_AhYFclyrS-PkfYhAeVHcF z16x+quy10*2V$A%p_|@C(vlf}j3uY83h(#TSr$(;^8(I={_=YQQWmA9-IlwJv>tQm z=vN-I{TO7X`;qBxwb5w$91YLV?ZD5}pddq(7IdMCH zi>`qAn|#FITi!L5;K!(tYm9r416}Wof}P8~?R9I9Gp(?VA;uQg19MO47*gS7fH*&jBO!+ zA*<^BMccHjJIvGHguBb4a`X z3aZw#!c&Xr8&szD1+gu&;vYfoWo>0Pxfr2%m34tC33fmRbzWF9I_Pqb9nNK@N##9_ z7K)v)des!^owH`MoXY_O?|;^9;comiPx0e78xhnnVvTYt+t+cU1rn_>gaFJsL-iPn)?<9P9cF#4)7q&v+d&6|3G@s-AcJy+m zE&u*GUaMK|x|4GmT(CgBICk`2BP@3rqtjKIRD#uBy}y*d;<>`?W&mGsG;i*_}V&^tlP`%;=g39@jxP z+3lrtg*!i6N;irOpUfKcd;iDl5a`<#kr8RwFm9=^m+ouwwjcXmTB}w5V#9IF^&Bl$ zr1$Ly#cQ<3u86>am9}pk&i%nxu(W&s@>qEDtn_xVtH-_EiQ}iAK4Ssfsdn&L9t=)d z`XOQN7*J)g$Jrtq0=-yeLnHg*23LxYA7$cxz^Yc)I6E-!;{LQwu_wfGw4&MYy7{n< z@{g0Hf)N5gAJKQ1Z&HGPn9x9B7U(m(9K&=+LHAc_D{YdMBZs~x)u1Y8|Oq!`C4(3_9<&$ddi6>R$Nsz z*ti?=jA-Sr_97V}feo+}Lq3-cfpgWR;PLI8s{ve9@?e;2o}0MpquOucipz^DrT}QH z*(<{nLb4h9799hx4&%I8KPj}xcQ}llgcaG1!nRb(PP?m)=CzA4v%6>oOe96H9 zv4mUhw`>V$29k?)$Co>qIqq(~3w4jJ;Hv5(RxjB-j_iEhlF;&|DDC|I8IcT>Vn;RY zhtw5mT0ygXAu=M%{^;GqYuYIMu4H;Mj--5CL}|zMEhOum_o51Y7i|D>$XmUFoe;@1 z%GsTUsKgF4w%-Cr3lg#~h)8;Lk%WQTLBS8r*sE{YBUDw4HU#o}E)8pVIEfWv&14?U z-+Za${OFm=>IA358en)nB5Iaqxw&Xi*ty@uDOX8o2c0tq0^sX>ZXD+Hn|;KY!Omm1 z^%wgf&Zy9Azd?vmU`~zuOOA0{TZ*mAC!_>|avcN83F#c+sFn_6tGo!v?95IUR2bL$ zlO(OlhszqAgy)mNt8PRulC#6u^SL#z-O&@{=_!AzBZ>T4ROorj%fx$A;u8u>saum0ha7p zeHRX-z)PW*@v9bruyAtVI@)PhaEs5kp`xyxTQ`U9$Whwz#z$=U$V|&0w@EfCUS!Ob zACSTE{VeC-0V~ZCpkKq~P4CLgdOeBy>vB+0ZxIt_Cp4aa%vI#LS^K}ui07WNo}5r0 zagMHmq-jqTf-OD<kAvu_ob1mUP%1jxeKqB!1&-)_hP{p74hHE%WM!atyx68j5b zSqwh8aKo|NIOL<2_eiX+iOsRP`{MUt{0iQetB*SL!F_8)_;0f$iJ4(o__4KWuvy_! z8TZ{dTb*rL6VmuN-yl2Z>0glL84u^jAH^DQl}VRI=x0CnuF*|;|My-5aPI;>(mo+m z`nyEOe&k$RG11$vEdDPG7^raBCw|#C*4#pIUoZJNx?4|ZC{)l>+jaSiiJ`GBKf}l) zUk1>%A61hqy!KvfRsM^|u6vwbH5WpfH(I5AdpBAg%rar%zW}nccGxfgRV4&v`tEoGyBq!uz^f zVqWEtxn%j&+Q2Fi$rL)H`M_HExP+?mFyN^){c{JXs{IM}f}p>7lfD zLZ;s)%6a(Ow@`(jP}k~pn@!dv6JhJkZf5UoumHv`g-tcCs)w* z#0sc%t9@Li{p}f*$vg$UiQ*RGZUr=ykDIaxRDU_(QfcURuYrpX*7IQcS$(Buw%VW7 zxaffDgn{-=K@iEh)LlPc3MPzc+qM^>RXr6Y8ASnP&dr6fqmwYILTpmh$E%{Iz%Qz( NZmR35l_G4O{0}dcmS_L~ literal 0 HcmV?d00001 diff --git a/tools/doc/typedoc-theme/assets/images/icons.psd b/tools/doc/typedoc-theme/assets/images/icons.psd new file mode 100644 index 0000000000000000000000000000000000000000..757fa7a81c0f766ad66f7bf0d00372f3ce822d04 GIT binary patch literal 761587 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

mRc+NAV_is!zCTZqfP^bC=_t9g_=}afWu4uX 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

`Pe0V?_ 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

P!96^jDh;allj-X*y>Y8;hJ+DK} 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 Ja|`+L{{!HfX2$>k literal 0 HcmV?d00001 diff --git a/tools/doc/typedoc-theme/assets/images/icons@2x.png b/tools/doc/typedoc-theme/assets/images/icons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a209e2f6d7f915cc9cb6fe7a4264c8be4db87b0 GIT binary patch literal 28144 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 U&wLp6h6BX&boFyt=akR{0G%$)mH+?% literal 0 HcmV?d00001 diff --git a/tools/doc/typedoc-theme/assets/images/widgets.psd b/tools/doc/typedoc-theme/assets/images/widgets.psd new file mode 100644 index 0000000000000000000000000000000000000000..deef704128c6038a19b75f24ac33edf085161525 GIT binary patch literal 187424 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

v|= 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 z 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 Ee-Q1K00000 literal 0 HcmV?d00001 diff --git a/tools/doc/typedoc-theme/assets/images/widgets@2x.png b/tools/doc/typedoc-theme/assets/images/widgets@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbd57272f3b28f47527d4951ad10f950b8ad43 GIT binary patch literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R literal 0 HcmV?d00001 diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/Application.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/Application.ts new file mode 100644 index 0000000000..085709b525 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/Application.ts @@ -0,0 +1,111 @@ +namespace typedoc +{ + /** + * Service definition. + */ + export interface IService + { + constructor:any; + name:string; + instance:any; + priority:number; + } + + + /** + * Component definition. + */ + export interface IComponent + { + constructor:any; + selector:string; + priority:number; + namespace:string; + } + + + /** + * List of all known services. + */ + var services:IService[] = []; + + /** + * List of all known components. + */ + var components:IComponent[] = []; + + /** + * Register a new component. + */ + export function registerService(constructor:any, name:string, priority:number = 0) { + services.push({ + constructor: constructor, + name: name, + priority: priority, + instance: null + }); + + services.sort((a:IService, b:IService) => a.priority - b.priority); + } + + + /** + * Register a new component. + */ + export function registerComponent(constructor:any, selector:string, priority:number = 0, namespace:string = '*') + { + components.push({ + selector: selector, + constructor: constructor, + priority: priority, + namespace: namespace + }); + + components.sort((a:IComponent, b:IComponent) => a.priority - b.priority); + } + + + /** + * TypeDoc application class. + */ + export class Application + { + /** + * Create a new Application instance. + */ + constructor() { + this.createServices(); + this.createComponents(document.body); + } + + + /** + * Create all services. + */ + private createServices() { + services.forEach((c) => { + c.instance = new c.constructor(); + (typedoc as any)[c.name] = c.instance; + }); + } + + + /** + * Create all components beneath the given jQuery element. + */ + public createComponents(context:HTMLElement, namespace:string = 'default') { + components.forEach((c) => { + if (c.namespace != namespace && c.namespace != '*') { + return; + } + + context.querySelectorAll(c.selector).forEach((el) => { + if (!el.dataset.hasInstance) { + new c.constructor({el:el}); + el.dataset.hasInstance = String(true); + } + }); + }); + } + } +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/Component.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/Component.ts new file mode 100644 index 0000000000..8e8bf467cf --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/Component.ts @@ -0,0 +1,17 @@ +namespace typedoc +{ + export interface IComponentOptions { + el: HTMLElement; + } + + /** + * TypeDoc component class. + */ + export class Component { + protected el: HTMLElement; + + constructor(options: IComponentOptions) { + this.el = options.el; + } + } +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/EventTarget.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/EventTarget.ts new file mode 100644 index 0000000000..e63682b1ba --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/EventTarget.ts @@ -0,0 +1,45 @@ +namespace typedoc +{ + export interface IEventListener { + (evt: CustomEvent): void; + } + + /** + * TypeDoc event target class. + */ + export class EventTarget { + private listeners: Record[]> = {}; + + public addEventListener(type: string, callback: IEventListener) { + if (!(type in this.listeners)) { + this.listeners[type] = []; + } + this.listeners[type].push(callback); + }; + + public removeEventListener(type: string, callback: IEventListener) { + if (!(type in this.listeners)) { + return; + } + const stack = this.listeners[type]; + for (let i = 0, l = stack.length; i < l; i++) { + if (stack[i] === callback){ + stack.splice(i, 1); + return; + } + } + }; + + public dispatchEvent(event: CustomEvent) { + if (!(event.type in this.listeners)) { + return true; + } + const stack = this.listeners[event.type].slice(); + + for (let i = 0, l = stack.length; i < l; i++) { + stack[i].call(this, event); + } + return !event.defaultPrevented; + }; + } +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Filter.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Filter.ts new file mode 100644 index 0000000000..3c6d01dbc6 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Filter.ts @@ -0,0 +1,186 @@ +/// +/// +/// + +namespace typedoc +{ + abstract class FilterItem + { + protected key:string; + + protected value:T; + + protected defaultValue:T; + + + constructor(key:string, value:T) { + this.key = key; + this.value = value; + this.defaultValue = value; + + this.initialize(); + + if (window.localStorage[this.key]) { + this.setValue(this.fromLocalStorage(window.localStorage[this.key])); + } + } + + + protected initialize() {} + + + protected abstract handleValueChange(oldValue:T, newValue:T): void; + + protected abstract fromLocalStorage(value: string): T; + + protected abstract toLocalStorage(value: T): string; + + + protected setValue(value:T) { + if (this.value == value) return; + + var oldValue = this.value; + this.value = value; + window.localStorage[this.key] = this.toLocalStorage(value); + + this.handleValueChange(oldValue, value); + } + } + + + class FilterItemCheckbox extends FilterItem + { + private checkbox!:HTMLInputElement; + + + protected initialize() { + const checkbox = document.querySelector('#tsd-filter-' + this.key); + if (!checkbox) return; + + this.checkbox = checkbox; + this.checkbox.addEventListener('change', () => { + this.setValue(this.checkbox.checked); + }); + } + + + protected handleValueChange(oldValue:boolean, newValue:boolean) { + if (!this.checkbox) return; + this.checkbox.checked = this.value; + document.documentElement.classList.toggle('toggle-' + this.key, this.value != this.defaultValue); + } + + + protected fromLocalStorage(value:string):boolean { + return value == 'true'; + } + + + protected toLocalStorage(value:boolean):string { + return value ? 'true' : 'false'; + } + } + + + class FilterItemSelect extends FilterItem + { + private select!:HTMLElement; + + + protected initialize() { + document.documentElement.classList.add('toggle-' + this.key + this.value); + + const select = document.querySelector('#tsd-filter-' + this.key); + if (!select) return; + + this.select = select; + const onActivate = () => { + this.select.classList.add('active'); + }; + const onDeactivate = () => { + this.select.classList.remove('active'); + }; + + this.select.addEventListener(pointerDown, onActivate); + this.select.addEventListener('mouseover', onActivate); + this.select.addEventListener('mouseleave', onDeactivate); + + this.select.querySelectorAll('li').forEach(el => { + el.addEventListener(pointerUp, (e) => { + select.classList.remove('active'); + this.setValue((e.target as HTMLElement).dataset.value || ''); + }) + }); + + document.addEventListener(pointerDown, (e) => { + if (this.select.contains(e.target as HTMLElement)) return; + + this.select.classList.remove('active'); + }); + } + + + protected handleValueChange(oldValue:string, newValue:string) { + this.select.querySelectorAll('li.selected').forEach(el => { + el.classList.remove('selected') + }); + + const selected = this.select.querySelector('li[data-value="' + newValue + '"]'); + const label = this.select.querySelector('.tsd-select-label'); + + if (selected && label) { + selected.classList.add('selected'); + label.textContent = selected.textContent; + } + + document.documentElement.classList.remove('toggle-' + oldValue); + document.documentElement.classList.add('toggle-' + newValue); + } + + protected fromLocalStorage(value: string): string { + return value; + } + + protected toLocalStorage(value: string): string { + return value; + } + } + + + class Filter extends Component + { + private optionVisibility:FilterItemSelect; + + private optionInherited:FilterItemCheckbox; + + private optionOnlyExported:FilterItemCheckbox; + + private optionExternals:FilterItemCheckbox; + + + constructor(options:IComponentOptions) { + super(options); + + this.optionVisibility = new FilterItemSelect('visibility', 'private'); + this.optionInherited = new FilterItemCheckbox('inherited', true); + this.optionExternals = new FilterItemCheckbox('externals', true); + this.optionOnlyExported = new FilterItemCheckbox('only-exported', false); + } + + + static isSupported():boolean { + try { + return typeof window.localStorage != 'undefined'; + } catch (e) { + return false; + } + } + } + + + if (Filter.isSupported()) { + registerComponent(Filter, '#tsd-filter'); + } else { + document.documentElement.classList.add('no-filter'); + } +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/components/MenuHighlight.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/MenuHighlight.ts new file mode 100644 index 0000000000..84dede980b --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/MenuHighlight.ts @@ -0,0 +1,147 @@ +/// +/// +/// + +namespace typedoc +{ + /** + * Stored element and position data of a single anchor. + */ + interface IAnchorInfo + { + /** + * The anchor element. + */ + anchor: HTMLElement; + + /** + * The link element in the navigation representing this anchor. + */ + link: HTMLElement; + + /** + * The vertical offset of the anchor on the page. + */ + position: number; + } + + + /** + * Manages the sticky state of the navigation and moves the highlight + * to the current navigation item. + */ + export class MenuHighlight extends Component + { + /** + * List of all discovered anchors. + */ + private anchors:IAnchorInfo[] = []; + + /** + * Index of the currently highlighted anchor. + */ + private index:number = -1; + + + /** + * Create a new MenuHighlight instance. + * + * @param options Backbone view constructor options. + */ + constructor(options:IComponentOptions) { + super(options); + + viewport.addEventListener('resize', () => this.onResize()); + viewport.addEventListener<{ scrollTop:number }>('scroll', e => this.onScroll(e)); + + this.createAnchors(); + } + + + /** + * Find all anchors on the current page. + */ + private createAnchors() { + var base = window.location.href; + if (base.indexOf('#') != -1) { + base = base.substr(0, base.indexOf('#')); + } + + this.el.querySelectorAll('a').forEach(el => { + var href = el.href; + if (href.indexOf('#') == -1) return; + if (href.substr(0, base.length) != base) return; + + var hash = href.substr(href.indexOf('#') + 1); + var anchor = document.querySelector('a.tsd-anchor[name=' + hash + ']'); + var link = el.parentNode; + if (!anchor || !link) return; + + this.anchors.push({ + link: link as HTMLElement, + anchor: anchor, + position: 0 + }); + }); + + this.onResize(); + } + + + /** + * Triggered after the viewport was resized. + */ + private onResize() { + var anchor: IAnchorInfo; + for (var index = 0, count = this.anchors.length; index < count; index++) { + anchor = this.anchors[index]; + const rect = anchor.anchor.getBoundingClientRect(); + anchor.position = rect.top + document.body.scrollTop; + } + + this.anchors.sort((a, b) => { + return a.position - b.position; + }); + + const event = new CustomEvent('scroll', { + detail: { + scrollTop: viewport.scrollTop, + } + }); + this.onScroll(event); + } + + + /** + * Triggered after the viewport was scrolled. + * + * @param event The custom event with the current vertical scroll position. + */ + private onScroll(event: CustomEvent<{ scrollTop:number }>) { + const scrollTop = event.detail.scrollTop + 5; + const anchors = this.anchors; + const count = anchors.length - 1; + let index = this.index; + + while (index > -1 && anchors[index].position > scrollTop) { + index -= 1; + } + + while (index < count && anchors[index + 1].position < scrollTop) { + index += 1; + } + + if (this.index != index) { + if (this.index > -1) this.anchors[this.index].link.classList.remove('focus'); + this.index = index; + if (this.index > -1) this.anchors[this.index].link.classList.add('focus'); + } + } + } + + + /** + * Register this component. + */ + registerComponent(MenuHighlight, '.menu-highlight'); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Search.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Search.ts new file mode 100644 index 0000000000..0c7c64ef37 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Search.ts @@ -0,0 +1,336 @@ +/// +/// + + +namespace typedoc.search +{ + interface IDocument { + id:number; + kind:number; + name:string; + url:string; + classes:string; + parent?:string; + } + + interface IData { + kinds:{[kind:number]:string}; + rows:IDocument[]; + index:object; + } + + /** + * Loading state definitions. + */ + enum SearchLoadingState + { + Idle, Loading, Ready, Failure + } + + /** + * Provides an indexed search on generated documentation + */ + export class Search extends Component { + /** + * The input field of the search widget. + */ + private field: HTMLInputElement; + + /** + * The result list wrapper. + */ + private results: HTMLElement; + + /** + * The base url that must be prepended to the indexed urls. + */ + private base: string; + + /** + * The current query string. + */ + private query: string = ''; + + /** + * The state the search is currently in. + */ + private loadingState: SearchLoadingState = SearchLoadingState.Idle; + + /** + * Is the input field focused? + */ + private hasFocus: boolean = false; + + /** + * Should the next key press be prevents? + */ + private preventPress: boolean = false; + + /** + * The search data + */ + private data: IData | null = null; + + /** + * The lunr index used to search the documentation. + */ + private index: lunr.Index | null = null; + + /** + * Has a search result been clicked? + * Used to stop the results hiding before a user can fully click on a result. + */ + private resultClicked: boolean = false; + + constructor(options: IComponentOptions) { + super(options); + + const field = document.querySelector('#tsd-search-field'); + const results = document.querySelector('.results'); + + if (!field || !results) { + throw new Error('The input field or the result list wrapper are not found'); + } + + this.field = field; + this.results = results; + + this.base = this.el.dataset.base + '/'; + + this.bindEvents(); + } + + /** + * Lazy load the search index and parse it. + */ + private loadIndex() { + if (this.loadingState != SearchLoadingState.Idle || this.data) return; + + setTimeout(() => { + if (this.loadingState == SearchLoadingState.Idle) { + this.setLoadingState(SearchLoadingState.Loading); + } + }, 500); + + const url = this.el.dataset.index; + if (!url) { + this.setLoadingState(SearchLoadingState.Failure); + return; + } + + fetch(url) + .then(response => { + if (!response.ok) { + throw new Error('The search index is missing'); + } + + return response.json(); + }) + .then((source: IData) => { + this.data = source; + this.index = lunr.Index.load(source.index); + + this.setLoadingState(SearchLoadingState.Ready); + }) + .catch((error) => { + console.error(error); + this.setLoadingState(SearchLoadingState.Failure); + }); + } + + + /** + * Update the visible state of the search control. + */ + private updateResults() { + // Don't clear results, if loading state is not ready, + // because loading or error message can be removed. + if (this.loadingState != SearchLoadingState.Ready) return; + + this.results.textContent = ''; + if (!this.query || !this.index || !this.data) return; + + // Perform a wildcard search + var res = this.index.search(`*${this.query}*`); + + // If still no results, try a fuzzy match search + if (res.length === 0) { + res = this.index.search(`*${this.query}~1*`); + } + + for (var i = 0, c = Math.min(10, res.length); i < c; i++) { + var row = this.data.rows[Number(res[i].ref)]; + + // Bold the matched part of the query in the search results + var name = row.name.replace(new RegExp(this.query, 'i'), (match: string) => `${match}`); + var parent = row.parent || ''; + parent = parent.replace(new RegExp(this.query, 'i'), (match: string) => `${match}`); + + if (parent) name = '' + parent + '.' + name; + const item = document.createElement('li'); + item.classList.value = row.classes; + item.innerHTML = ` + ${name} + `; + this.results.appendChild(item); + } + } + + + /** + * Set the loading state and update the visual state accordingly. + */ + private setLoadingState(value: SearchLoadingState) { + if (this.loadingState == value) return; + + this.el.classList.remove(SearchLoadingState[this.loadingState].toLowerCase()); + this.loadingState = value; + this.el.classList.add(SearchLoadingState[this.loadingState].toLowerCase()); + + this.updateResults(); + } + + + /** + * Set the focus state and update the visual state accordingly. + */ + private setHasFocus(value: boolean) { + if (this.hasFocus == value) return; + this.hasFocus = value; + this.el.classList.toggle('has-focus'); + + if (!value) { + this.field.value = this.query; + } else { + this.setQuery(''); + this.field.value = ''; + } + } + + + /** + * Set the query string and update the results. + */ + private setQuery(value: string) { + this.query = value.trim(); + this.updateResults(); + } + + + /** + * Move the highlight within the result set. + */ + private setCurrentResult(dir: number) { + var current = this.results.querySelector('.current'); + if (!current) { + current = this.results.querySelector(dir == 1 ? 'li:first-child' : 'li:last-child'); + if (current) { + current.classList.add('current') + } + } else { + var rel = dir == 1 ? current.nextElementSibling : current.previousElementSibling; + if (rel) { + current.classList.remove('current'); + rel.classList.add('current'); + } + } + } + + + /** + * Navigate to the highlighted result. + */ + private gotoCurrentResult() { + var current = this.results.querySelector('.current'); + + if (!current) { + current = this.results.querySelector('li:first-child'); + } + + if (current) { + const link = current.querySelector('a'); + if (link) { + window.location.href = link.href; + } + this.field.blur(); + } + } + + /** + * Bind events on result list wrapper, input field and document body. + */ + private bindEvents() { + /** + * Intercept mousedown and mouseup events so we can correctly + * handle clicking on search results. + */ + this.results.addEventListener('mousedown', () => { + this.resultClicked = true; + }); + this.results.addEventListener('mouseup', () => { + this.resultClicked = false; + this.setHasFocus(false); + }); + + + /** + * Bind all required events on the input field. + */ + this.field.addEventListener('focusin', () => { + this.setHasFocus(true); + this.loadIndex(); + }); + this.field.addEventListener('focusout', () => { + // If the user just clicked on a search result, then + // don't lose the focus straight away, as this prevents + // them from clicking the result and following the link + if (this.resultClicked) { + this.resultClicked = false; + return; + } + + setTimeout(() => this.setHasFocus(false), 100); + }); + this.field.addEventListener('input', () => { + this.setQuery(this.field.value); + }); + this.field.addEventListener('keydown', (e) => { + if (e.keyCode == 13 || e.keyCode == 27 || e.keyCode == 38 || e.keyCode == 40) { + this.preventPress = true; + e.preventDefault(); + + if (e.keyCode == 13) { + this.gotoCurrentResult(); + } else if (e.keyCode == 27) { + this.field.blur(); + } else if (e.keyCode == 38) { + this.setCurrentResult(-1); + } else if (e.keyCode == 40) { + this.setCurrentResult(1); + } + } else { + this.preventPress = false; + } + }); + this.field.addEventListener('keypress', (e) => { + if (this.preventPress) e.preventDefault(); + }); + + + /** + * Start searching by pressing a key on the body. + */ + document.body.addEventListener('keydown', e => { + if (e.altKey || e.ctrlKey || e.metaKey) return; + if (!this.hasFocus && e.keyCode > 47 && e.keyCode < 112) { + this.field.focus(); + } + }); + } + } + + /** + * Register this component. + */ + registerComponent(Search, '#tsd-search'); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Signature.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Signature.ts new file mode 100644 index 0000000000..d9dae1bfe6 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Signature.ts @@ -0,0 +1,171 @@ +/// +/// +/// + +namespace typedoc +{ + /** + * Holds a signature and its description. + */ + class SignatureGroup + { + /** + * The target signature. + */ + signature: Element; + + /** + * The description for the signature. + */ + description: Element; + + + /** + * Create a new SignatureGroup instance. + * + * @param signature The target signature. + * @param description The description for the signature. + */ + constructor(signature: Element, description: Element) { + this.signature = signature; + this.description = description; + } + + + /** + * Add the given class to all elements of the group. + * + * @param className The class name to add. + */ + addClass(className:string):SignatureGroup { + this.signature.classList.add(className); + this.description.classList.add(className); + return this; + } + + + /** + * Remove the given class from all elements of the group. + * + * @param className The class name to remove. + */ + removeClass(className:string):SignatureGroup { + this.signature.classList.remove(className); + this.description.classList.remove(className); + return this; + } + } + + + /** + * Controls the tab like behaviour of methods and functions with multiple signatures. + */ + class Signature extends Component + { + /** + * List of found signature groups. + */ + private groups: SignatureGroup[] = []; + + /** + * The container holding all the descriptions. + */ + private container?: HTMLElement; + + /** + * The index of the currently displayed signature. + */ + private index:number = -1; + + + /** + * Create a new Signature instance. + * + * @param options Backbone view constructor options. + */ + constructor(options:IComponentOptions) { + super(options); + + this.createGroups(); + + if (this.container) { + this.el.classList.add('active'); + Array.from(this.el.children).forEach(signature => { + signature.addEventListener('touchstart', (event) => this.onClick(event)); + signature.addEventListener('click', (event) => this.onClick(event)); + }); + this.container.classList.add('active'); + this.setIndex(0); + } + } + + + /** + * Set the index of the active signature. + * + * @param index The index of the signature to activate. + */ + private setIndex(index:number) { + if (index < 0) index = 0; + if (index > this.groups.length - 1) index = this.groups.length - 1; + if (this.index == index) return; + + const to = this.groups[index]; + if (this.index > -1) { + const from = this.groups[this.index]; + + from.removeClass('current').addClass('fade-out'); + to.addClass('current'); + to.addClass('fade-in'); + viewport.triggerResize(); + + setTimeout(() => { + from.removeClass('fade-out'); + to.removeClass('fade-in'); + }, 300); + } else { + to.addClass('current'); + viewport.triggerResize(); + } + + this.index = index; + } + + + /** + * Find all signature/description groups. + */ + private createGroups() { + const signatures = this.el.children; + if (signatures.length < 2) return; + + this.container = this.el.nextElementSibling as HTMLElement; + const descriptions = this.container.children; + + this.groups = []; + for (let index = 0; index < signatures.length; index++) { + this.groups.push(new SignatureGroup(signatures[index], descriptions[index])); + } + } + + + /** + * Triggered when the user clicks onto a signature header. + * + * @param e The related event object. + */ + private onClick(e: Event) { + this.groups.forEach((group, index) => { + if (group.signature === e.currentTarget) { + this.setIndex(index); + } + }); + } + } + + + /** + * Register this component. + */ + registerComponent(Signature, '.tsd-signatures'); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Toggle.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Toggle.ts new file mode 100644 index 0000000000..dd72266200 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/components/Toggle.ts @@ -0,0 +1,77 @@ +/// +/// +/// + +namespace typedoc +{ + /** + * Enabled simple toggle buttons. + */ + class Toggle extends Component { + active?: boolean; + + className: string; + + constructor(options: IComponentOptions) { + super(options); + + this.className = this.el.dataset.toggle || ''; + this.el.addEventListener(pointerUp, (e) => this.onPointerUp(e)); + this.el.addEventListener('click', (e) => e.preventDefault()); + document.addEventListener(pointerDown, (e) => this.onDocumentPointerDown(e)); + document.addEventListener(pointerUp, (e) => this.onDocumentPointerUp(e)); + } + + setActive(value: boolean) { + if (this.active == value) return; + this.active = value; + + document.documentElement.classList.toggle('has-' + this.className, value); + this.el.classList.toggle('active', value); + + const transition = (this.active ? 'to-has-' : 'from-has-') + this.className; + document.documentElement.classList.add(transition); + setTimeout(() => document.documentElement.classList.remove(transition), 500); + } + + onPointerUp(event: Event) { + if (hasPointerMoved) return; + this.setActive(true); + event.preventDefault(); + } + + onDocumentPointerDown(e: Event) { + if (this.active) { + if ((e.target as HTMLElement).closest('.col-menu, .tsd-filter-group')) { + return; + } + + this.setActive(false); + } + } + + onDocumentPointerUp(e: Event) { + if (hasPointerMoved) return; + if (this.active) { + if ((e.target as HTMLElement).closest('.col-menu')) { + const link = (e.target as HTMLElement).closest('a'); + if (link) { + let href = window.location.href; + if (href.indexOf('#') != -1) { + href = href.substr(0, href.indexOf('#')); + } + if (link.href.substr(0, href.length) == href) { + setTimeout(() => this.setActive(false), 250); + } + } + } + } + } + } + + + /** + * Register this component. + */ + registerComponent(Toggle, 'a[data-toggle]'); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/services/Viewport.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/services/Viewport.ts new file mode 100644 index 0000000000..f7390e4966 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/services/Viewport.ts @@ -0,0 +1,135 @@ +/// +/// +/// + +namespace typedoc +{ + /** + * A global service that monitors the window size and scroll position. + */ + export class Viewport extends EventTarget + { + /** + * The current scroll position. + */ + scrollTop:number = 0; + + /** + * The previous scrollTop. + */ + lastY:number = 0; + + /** + * The width of the window. + */ + width:number = 0; + + /** + * The height of the window. + */ + height:number = 0; + + /** + * The toolbar (contains the search input). + */ + toolbar:HTMLDivElement; + + /** + * Boolean indicating whether the toolbar is shown. + */ + showToolbar:boolean = true; + + /** + * The sticky side nav that contains members of the current page. + */ + secondaryNav:HTMLElement; + + + /** + * Create new Viewport instance. + */ + constructor() { + super(); + + this.toolbar = document.querySelector('.tsd-page-toolbar'); + this.secondaryNav = document.querySelector('.tsd-navigation.secondary'); + + window.addEventListener('scroll', throttle(() => this.onScroll(), 10)); + window.addEventListener('resize', throttle(() => this.onResize(), 10)); + + this.onResize(); + this.onScroll(); + } + + + /** + * Trigger a resize event. + */ + triggerResize() { + const event = new CustomEvent('resize', { + detail: { + width: this.width, + height: this.height, + } + }); + + this.dispatchEvent(event); + } + + + /** + * Triggered when the size of the window has changed. + */ + onResize() { + this.width = window.innerWidth || 0; + this.height = window.innerHeight || 0; + + const event = new CustomEvent('resize', { + detail: { + width: this.width, + height: this.height, + } + }); + + this.dispatchEvent(event); + } + + + /** + * Triggered when the user scrolled the viewport. + */ + onScroll() { + this.scrollTop = window.scrollY || 0; + + const event = new CustomEvent('scroll', { + detail: { + scrollTop: this.scrollTop, + } + }); + + this.dispatchEvent(event); + this.hideShowToolbar(); + } + + + /** + * Handle hiding/showing of the toolbar. + */ + hideShowToolbar() { + const isShown = this.showToolbar; + this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop === 0; + if (isShown !== this.showToolbar) { + this.toolbar.classList.toggle('tsd-page-toolbar--hide'); + this.secondaryNav.classList.toggle('tsd-navigation--toolbar-hide'); + } + this.lastY = this.scrollTop; + } + } + + + /** + * Register service. + */ + export var viewport:Viewport; + registerService(Viewport, 'viewport'); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/pointer.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/pointer.ts new file mode 100644 index 0000000000..ef4828f718 --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/pointer.ts @@ -0,0 +1,96 @@ +/// + +namespace typedoc +{ + /** + * Simple point interface. + */ + export interface Point { + x:number; + y:number; + } + + /** + * Event name of the pointer down event. + */ + export var pointerDown:string = 'mousedown'; + + /** + * Event name of the pointer move event. + */ + export var pointerMove:string = 'mousemove'; + + /** + * Event name of the pointer up event. + */ + export var pointerUp:string = 'mouseup'; + + /** + * Position the pointer was pressed at. + */ + export var pointerDownPosition:Point = {x:0, y:0}; + + /** + * Should the next click on the document be supressed? + */ + export var preventNextClick:boolean = false; + + /** + * Is the pointer down? + */ + export var isPointerDown:boolean = false; + + /** + * Is the pointer a touch point? + */ + export var isPointerTouch:boolean = false; + + /** + * Did the pointer move since the last down event? + */ + export var hasPointerMoved:boolean = false; + + /** + * Is the user agent a mobile agent? + */ + export var isMobile:boolean = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + document.documentElement.classList.add(isMobile ? 'is-mobile' : 'not-mobile'); + + + if (isMobile && 'ontouchstart' in document.documentElement) { + isPointerTouch = true; + pointerDown = 'touchstart'; + pointerMove = 'touchmove'; + pointerUp = 'touchend'; + } + + document.addEventListener(pointerDown, (e) => { + isPointerDown = true; + hasPointerMoved = false; + var t = (pointerDown == 'touchstart' ? (e as TouchEvent).targetTouches[0] : (e as MouseEvent)); + pointerDownPosition.y = t.pageY || 0; + pointerDownPosition.x = t.pageX || 0; + }); + + document.addEventListener(pointerMove, (e) => { + if (!isPointerDown) return; + if (!hasPointerMoved) { + var t = (pointerDown == 'touchstart' ? (e as TouchEvent).targetTouches[0] : (e as MouseEvent)); + var x = pointerDownPosition.x - (t.pageX || 0); + var y = pointerDownPosition.y - (t.pageY || 0); + hasPointerMoved = (Math.sqrt(x*x + y*y) > 10); + } + }); + + document.addEventListener(pointerUp, () => { + isPointerDown = false; + }); + + document.addEventListener('click', (e) => { + if (preventNextClick) { + e.preventDefault(); + e.stopImmediatePropagation(); + preventNextClick = false; + } + }); +} diff --git a/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/trottle.ts b/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/trottle.ts new file mode 100644 index 0000000000..5bc6f8c8df --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/typedoc/utils/trottle.ts @@ -0,0 +1,13 @@ +namespace typedoc +{ + export const throttle = (fn: (...args: A) => void, wait = 100) => { + let time = Date.now(); + return (...args: A) => { + if ((time + wait - Date.now()) < 0) { + fn(...args); + time = Date.now(); + } + } + } + +} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/assets/js/src/~bootstrap.ts b/tools/doc/typedoc-theme/assets/js/src/~bootstrap.ts new file mode 100644 index 0000000000..c03704da6a --- /dev/null +++ b/tools/doc/typedoc-theme/assets/js/src/~bootstrap.ts @@ -0,0 +1,12 @@ +/// +/// +/// +/// +/// +/// +/// + +namespace typedoc +{ + export var app: Application = new Application(); +} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/layouts/default.hbs b/tools/doc/typedoc-theme/layouts/default.hbs new file mode 100644 index 0000000000..7c3d71f16c --- /dev/null +++ b/tools/doc/typedoc-theme/layouts/default.hbs @@ -0,0 +1,47 @@ + + + + + + {{#ifCond model.name '==' project.name}}{{project.name}}{{else}}{{model.name}} | {{project.name}}{{/ifCond}} + + + + {{> analytics}} + + + +{{> header}} + +

+ +{{> footer}} + +
+ + + + diff --git a/tools/doc/typedoc-theme/partials/analytics.hbs b/tools/doc/typedoc-theme/partials/analytics.hbs new file mode 100644 index 0000000000..29fdf85807 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/analytics.hbs @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/breadcrumb.hbs b/tools/doc/typedoc-theme/partials/breadcrumb.hbs new file mode 100644 index 0000000000..319741831c --- /dev/null +++ b/tools/doc/typedoc-theme/partials/breadcrumb.hbs @@ -0,0 +1,16 @@ +{{#if parent}} + {{#with parent}}{{> breadcrumb}}{{/with}} +
  • + {{#if url}} + {{name}} + {{else}} + {{name}} + {{/if}} +
  • +{{else}} + {{#if url}} +
  • + Globals +
  • + {{/if}} +{{/if}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/comment.hbs b/tools/doc/typedoc-theme/partials/comment.hbs new file mode 100644 index 0000000000..1fbd2d7869 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/comment.hbs @@ -0,0 +1,22 @@ +{{#with comment}} + {{#if hasVisibleComponent}} +
    + {{#if shortText}} +
    + {{#markdown}}{{{shortText}}}{{/markdown}} +
    + {{/if}} + {{#if text}} + {{#markdown}}{{{text}}}{{/markdown}} + {{/if}} + {{#if tags}} +
    + {{#each tags}} +
    {{tagName}}
    +
    {{#markdown}}{{{text}}}{{/markdown}}
    + {{/each}} +
    + {{/if}} +
    + {{/if}} +{{/with}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/footer.hbs b/tools/doc/typedoc-theme/partials/footer.hbs new file mode 100644 index 0000000000..e5913db4c6 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/footer.hbs @@ -0,0 +1,21 @@ + + +
    +

    Legend

    +
    + {{#each legend}} +
      + {{#each .}} +
    • {{name}}
    • + {{/each}} +
    + {{/each}} +
    +
    + + +{{#unless settings.hideGenerator}} +
    +

    Generated using TypeDoc

    +
    +{{/unless}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/header.hbs b/tools/doc/typedoc-theme/partials/header.hbs new file mode 100644 index 0000000000..a15f828b1b --- /dev/null +++ b/tools/doc/typedoc-theme/partials/header.hbs @@ -0,0 +1,71 @@ +
    +
    +
    +
    + + +
    +
    + Options +
    +
    + All +
      +
    • Public
    • +
    • Public/Protected
    • +
    • All
    • +
    +
    + + + + + {{#unless settings.excludeExternals}} + + + {{/unless}} + + {{#unless settings.excludeNotExported}} + + + {{/unless}} +
    +
    + + Menu +
    +
    +
    +
    +
    +
    +
      + {{#with model}}{{> breadcrumb}}{{/with}} +
    +

    {{#compact}} + {{model.kindString}}  + {{model.name}} + {{#if model.typeParameters}} + < + {{#each model.typeParameters}} + {{#if @index}}, {{/if}} + {{name}} + {{/each}} + > + {{/if}} + {{/compact}}

    +
    +
    +
    diff --git a/tools/doc/typedoc-theme/partials/hierarchy.hbs b/tools/doc/typedoc-theme/partials/hierarchy.hbs new file mode 100644 index 0000000000..c8166bb2c1 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/hierarchy.hbs @@ -0,0 +1,17 @@ +
      + {{#each types}} +
    • + {{#if ../isTarget}} + {{this}} + {{else}} + {{#compact}}{{> type}}{{/compact}} + {{/if}} + + {{#if @last}} + {{#with ../next}} + {{> hierarchy}} + {{/with}} + {{/if}} +
    • + {{/each}} +
    diff --git a/tools/doc/typedoc-theme/partials/index.hbs b/tools/doc/typedoc-theme/partials/index.hbs new file mode 100644 index 0000000000..05d199d652 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/index.hbs @@ -0,0 +1,30 @@ +{{#if groups}} +
    +

    Index

    +
    +
    + {{#each groups}} +
    + {{#if categories}} + {{#each categories}} +

    {{#if title}}{{title}} {{/if}}{{../title}}

    + + {{/each}} + {{else}} +

    {{title}}

    + + {{/if}} +
    + {{/each}} +
    +
    +
    +{{/if}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/member.declaration.hbs b/tools/doc/typedoc-theme/partials/member.declaration.hbs new file mode 100644 index 0000000000..4dcaa9612e --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.declaration.hbs @@ -0,0 +1,36 @@ +
    {{#compact}} + {{{wbr name}}} + {{#if typeParameters}} + < + {{#each typeParameters}} + {{#if @index}}, {{/if}} + {{name}} + {{/each}} + > + {{/if}} + {{#if isOptional}}?{{/if}}: {{#with type}}{{>type}}{{/with}} + {{#if defaultValue}} + +  =  + {{defaultValue}} + + {{/if}} +{{/compact}}
    + +{{> member.sources}} + +{{> comment}} + +{{#if typeParameters}} +

    Type parameters

    + {{> typeParameters}} +{{/if}} + +{{#if type.declaration}} +
    +

    Type declaration

    + {{#with type.declaration}} + {{> parameter}} + {{/with}} +
    +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/member.getterSetter.hbs b/tools/doc/typedoc-theme/partials/member.getterSetter.hbs new file mode 100644 index 0000000000..902ea4cc28 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.getterSetter.hbs @@ -0,0 +1,37 @@ +
      + {{#if getSignature}} + {{#with getSignature}} +
    • {{#compact}} + get  + {{../name}} + {{> member.signature.title hideName=true }} + {{/compact}}
    • + {{/with}} + {{/if}} + {{#if setSignature}} + {{#with setSignature}} +
    • {{#compact}} + set  + {{../name}} + {{> member.signature.title hideName=true }} + {{/compact}}
    • + {{/with}} + {{/if}} +
    + +
      + {{#if getSignature}} + {{#with getSignature}} +
    • + {{> member.signature.body }} +
    • + {{/with}} + {{/if}} + {{#if setSignature}} + {{#with setSignature}} +
    • + {{> member.signature.body }} +
    • + {{/with}} + {{/if}} +
    diff --git a/tools/doc/typedoc-theme/partials/member.hbs b/tools/doc/typedoc-theme/partials/member.hbs new file mode 100644 index 0000000000..0cf5cacb71 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.hbs @@ -0,0 +1,24 @@ +
    + + {{#if name}} +

    {{#each flags}}{{this}} {{/each}}{{{wbr name}}}

    + {{/if}} + + {{#if signatures}} + {{> member.signatures}} + {{else}}{{#if hasGetterOrSetter}} + {{> member.getterSetter}} + {{else}}{{#if isReference}} + {{> member.reference}} + {{else}} + {{> member.declaration}} + {{/if}}{{/if}}{{/if}} + + {{#each groups}} + {{#each children}} + {{#unless hasOwnDocument}} + {{> member}} + {{/unless}} + {{/each}} + {{/each}} +
    diff --git a/tools/doc/typedoc-theme/partials/member.reference.hbs b/tools/doc/typedoc-theme/partials/member.reference.hbs new file mode 100644 index 0000000000..13aa3cc32d --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.reference.hbs @@ -0,0 +1,11 @@ +{{#with tryGetTargetReflectionDeep}} + {{#ifCond ../name '===' name}} + Re-exports {{name}} + {{else if flags.isExported}} + Renames and re-exports {{name}} + {{else}} + Renames and exports {{name}} + {{/ifCond}} +{{else}} + Re-exports {{name}} +{{/with}} diff --git a/tools/doc/typedoc-theme/partials/member.signature.body.hbs b/tools/doc/typedoc-theme/partials/member.signature.body.hbs new file mode 100644 index 0000000000..f415785577 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.signature.body.hbs @@ -0,0 +1,56 @@ +{{#unless hideSources}} + {{> member.sources}} +{{/unless}} + +{{> comment}} + +{{#if typeParameters}} +

    Type parameters

    + {{> typeParameters}} +{{/if}} + +{{#if parameters}} +

    Parameters

    +
      + {{#each parameters}} +
    • +
      {{#compact}} + {{#each flags}} + {{this}}  + {{/each}} + {{#if flags.isRest}}...{{/if}} + {{name}}:  + {{#with type}}{{>type}}{{/with}} + {{#if defaultValue}} + +  =  + {{defaultValue}} + + {{/if}} + {{/compact}}
      + + {{> comment}} + + {{#if type.declaration}} + {{#with type.declaration}} + {{> parameter}} + {{/with}} + {{/if}} +
    • + {{/each}} +
    +{{/if}} + +{{#if type}} +

    Returns {{#compact}}{{#with type}}{{>type}}{{/with}}{{/compact}}

    + + {{#if comment.returns}} + {{#markdown}}{{{comment.returns}}}{{/markdown}} + {{/if}} + + {{#if type.declaration}} + {{#with type.declaration}} + {{> parameter}} + {{/with}} + {{/if}} +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/member.signature.title.hbs b/tools/doc/typedoc-theme/partials/member.signature.title.hbs new file mode 100644 index 0000000000..035c4cae37 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.signature.title.hbs @@ -0,0 +1,32 @@ +{{#unless hideName}}{{{wbr name}}}{{/unless}} +{{#if typeParameters}} + < + {{#each typeParameters}} + {{#if @index}}, {{/if}} + {{name}} + {{/each}} + > +{{/if}} +( +{{#each parameters}} + {{#if @index}}, {{/if}} + {{#if flags.isRest}}...{{/if}} + {{name}} + + {{#if flags.isOptional}}?{{/if}} + {{#if defaultValue}}?{{/if}} + :  + + {{#with type}}{{>type}}{{/with}} +{{/each}} +) +{{#if type}} + {{#if arrowStyle}} + => + {{else}} + : + {{/if}} + {{#with type}} + {{>type}} + {{/with}} +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/member.signatures.hbs b/tools/doc/typedoc-theme/partials/member.signatures.hbs new file mode 100644 index 0000000000..b549f98a0d --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.signatures.hbs @@ -0,0 +1,13 @@ +
      + {{#each signatures}} +
    • {{#compact}}{{> member.signature.title }}{{/compact}}
    • + {{/each}} +
    + +
      + {{#each signatures}} +
    • + {{> member.signature.body }} +
    • + {{/each}} +
    diff --git a/tools/doc/typedoc-theme/partials/member.sources.hbs b/tools/doc/typedoc-theme/partials/member.sources.hbs new file mode 100644 index 0000000000..367a3aedcc --- /dev/null +++ b/tools/doc/typedoc-theme/partials/member.sources.hbs @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/members.group.hbs b/tools/doc/typedoc-theme/partials/members.group.hbs new file mode 100644 index 0000000000..18b82d6c86 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/members.group.hbs @@ -0,0 +1,21 @@ +{{#if categories}} + {{#each categories}} +
    +

    {{#if title}}{{title}} {{/if}}{{../title}}

    + {{#each children}} + {{#unless hasOwnDocument}} + {{> member}} + {{/unless}} + {{/each}} +
    + {{/each}} +{{else}} +
    +

    {{title}}

    + {{#each children}} + {{#unless hasOwnDocument}} + {{> member}} + {{/unless}} + {{/each}} +
    +{{/if}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/members.hbs b/tools/doc/typedoc-theme/partials/members.hbs new file mode 100644 index 0000000000..5b415231dd --- /dev/null +++ b/tools/doc/typedoc-theme/partials/members.hbs @@ -0,0 +1,20 @@ +{{#if categories}} + {{#each categories}} + {{#unless allChildrenHaveOwnDocument}} +
    +

    {{title}}

    + {{#each children}} + {{#unless hasOwnDocument}} + {{> member}} + {{/unless}} + {{/each}} +
    + {{/unless}} + {{/each}} +{{else}} + {{#each groups}} + {{#unless allChildrenHaveOwnDocument}} + {{> members.group}} + {{/unless}} + {{/each}} +{{/if}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/navigation.hbs b/tools/doc/typedoc-theme/partials/navigation.hbs new file mode 100644 index 0000000000..b1f91e4e9d --- /dev/null +++ b/tools/doc/typedoc-theme/partials/navigation.hbs @@ -0,0 +1,26 @@ +{{#if isVisible}} + {{#if isLabel}} +
  • + {{{wbr title}}} +
  • + {{else}} + {{#if isGlobals}} +
  • + {{{wbr title}}} +
  • + {{else}} +
  • + {{{wbr title}}} + {{#if isInPath}} + {{#if children}} +
      + {{#each children}} + {{> navigation}} + {{/each}} +
    + {{/if}} + {{/if}} +
  • + {{/if}} + {{/if}} +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/parameter.hbs b/tools/doc/typedoc-theme/partials/parameter.hbs new file mode 100644 index 0000000000..b4e9ac6f9a --- /dev/null +++ b/tools/doc/typedoc-theme/partials/parameter.hbs @@ -0,0 +1,83 @@ +
      + {{#if signatures}} +
    • +
        + {{#each signatures}} +
      • {{#compact}} + {{> member.signature.title hideName=true }} + {{/compact}}
      • + {{/each}} +
      + +
        + {{#each signatures}} +
      • {{> member.signature.body hideSources=true }}
      • + {{/each}} +
      +
    • + {{/if}} + {{#if indexSignature}} +
    • +
      {{#compact}} + [ + {{#each indexSignature.parameters}} + {{#if flags.isRest}}...{{/if}}{{name}}: {{#with type}}{{>type}}{{/with}} + {{/each}} + ]:  + {{#with indexSignature.type}}{{>type}}{{/with}} + {{/compact}}
      + + {{#with indexSignature}} + {{> comment}} + {{/with}} + + {{#if indexSignature.type.declaration}} + {{#with indexSignature.type.declaration}} + {{> parameter}} + {{/with}} + {{/if}} +
    • + {{/if}} + {{#each children}} +
    • + {{#if signatures}} +
      {{#compact}} + {{#if flags.isRest}}...{{/if}} + {{{wbr name}}} + + {{#if isOptional}}?{{/if}} + :  + + function + {{/compact}}
      + + {{> member.signatures}} + {{else}} +
      {{#compact}} + {{#each flags}} + {{this}}  + {{/each}} + {{#if flags.isRest}}...{{/if}} + {{{wbr name}}} + + {{#if flags.isOptional}}?{{/if}} + :  + + {{#with type}}{{>type}}{{/with}} + {{/compact}}
      + + {{> comment}} + + {{#if children}} + {{> parameter}} + {{/if}} + + {{#if type.declaration}} + {{#with type.declaration}} + {{> parameter}} + {{/with}} + {{/if}} + {{/if}} +
    • + {{/each}} +
    diff --git a/tools/doc/typedoc-theme/partials/toc.hbs b/tools/doc/typedoc-theme/partials/toc.hbs new file mode 100644 index 0000000000..56b1d74872 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/toc.hbs @@ -0,0 +1,10 @@ +
  • + {{{wbr title}}} + {{#if children}} +
      + {{#each children}} + {{> toc}} + {{/each}} +
    + {{/if}} +
  • diff --git a/tools/doc/typedoc-theme/partials/toc.root.hbs b/tools/doc/typedoc-theme/partials/toc.root.hbs new file mode 100644 index 0000000000..cba0d66370 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/toc.root.hbs @@ -0,0 +1,18 @@ +{{#if isInPath}} + +
      +{{/if}} +
    • + {{{wbr title}}} + {{#if children}} +
        + {{#each children}} + {{> toc}} + {{/each}} +
      + {{/if}} +
    • +{{#if isInPath}} +
    +
      +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/type.hbs b/tools/doc/typedoc-theme/partials/type.hbs new file mode 100644 index 0000000000..f226d52e6f --- /dev/null +++ b/tools/doc/typedoc-theme/partials/type.hbs @@ -0,0 +1,211 @@ +{{! Each type gets its own inline helper to determine how it is rendered. }} +{{! The name of the helper is the value of the 'type' property on the type.}} + +{{! +The type helper accepts an optional needsParens parameter that is checked +if an inner type may result in invalid output without them. For example: +1 | 2[] !== (1 | 2)[] +() => 1 | 2 !== (() => 1) | 2 +}} + +{{#*inline 'array'}} + {{#with elementType}} + {{> type needsParens=true}} + [] + {{/with}} +{{/inline}} + +{{#*inline 'conditional'}} + {{#if needsParens}} + ( + {{/if}} + {{#with checkType}} + {{> type needsParens=true}} + {{/with}} + extends + {{#with extendsType}} + {{> type}} + {{/with}} + ? + {{#with trueType}} + {{> type}} + {{/with}} + : + {{#with falseType}} + {{> type}} + {{/with}} + {{#if needsParens}} + ) + {{/if}} +{{/inline}} + +{{#*inline 'indexedAccess'}} + {{#with objectType}} + {{> type}} + {{/with}} + [ + {{#with indexType}} + {{> type}} + {{/with}} + ] +{{/inline}} + +{{#*inline 'inferred'}} + infer {{name}} +{{/inline}} + +{{#*inline 'intersection'}} + {{#if needsParens}} + ( + {{/if}} + {{#each types}} + {{#unless @first}} + & + {{/unless}} + {{> type}} + {{/each}} + {{#if needsParens}} + ) + {{/if}} +{{/inline}} + +{{#*inline 'intrinsic'}} + {{name}} +{{/inline}} + +{{#*inline 'predicate'}} + {{#if asserts}} + asserts + {{/if}} + {{name}} + {{#if targetType}} + is + {{#with targetType}} + {{>type}} + {{/with}} + {{/if}} +{{/inline}} + +{{#*inline 'query'}} + typeof + {{#with queryType}} + {{> type}} + {{/with}} +{{/inline}} + +{{#*inline 'reference'}} + {{#if reflection}} + + {{reflection.name}} + + {{else}} + {{name}} + {{/if}} + {{#if typeArguments}} + < + {{#each typeArguments}} + {{#unless @first}} + , + {{/unless}} + {{> type}} + {{/each}} + > + {{/if}} +{{/inline}} + +{{#*inline 'reflection'}} + {{#if declaration.children}} {{! object literal }} + { + {{#each declaration.children}} + {{#unless @first}} + ; + {{/unless}} + {{name}} + {{#if flags.isOptional }} + ?: + {{else}} + : + {{/if}} + {{#with type}} + {{> type}} + {{else}} + any + {{/with}} + {{/each}} + } + {{else if declaration.signatures}} + {{#if (lookup declaration.signatures 1) }} {{! more than one signature}} + { + {{#each declaration.signatures}} + {{> member.signature.title hideName=true}} + {{#unless @last}} + ; + {{/unless}} + {{/each}} + } + {{else}} + {{#if needsParens}} + ( + {{/if}} + {{#with (lookup declaration.signatures '0') }} + {{> member.signature.title hideName=true arrowStyle=true}} + {{/with}} + {{#if needsParens}} + ) + {{/if}} + {{/if}} + {{else}} + {} + {{/if}} +{{/inline}} + +{{#*inline 'stringLiteral'}} + "{{value}}" +{{/inline}} + +{{#*inline 'tuple'}} + [ + {{#each elements}} + {{#unless @first}} + , + {{/unless}} + {{> type}} + {{/each}} + ] +{{/inline}} + +{{#*inline 'typeOperator'}} + {{operator}} + {{#with target}} + {{> type}} + {{/with}} +{{/inline}} + +{{#*inline 'typeParameter'}} + {{name}} +{{/inline}} + +{{#*inline 'union'}} + {{#if needsParens}} + ( + {{/if}} + {{#each types}} + {{#unless @first}} + | + {{/unless}} + {{> type needsParens=true}} + {{/each}} + {{#if needsParens}} + ) + {{/if}} +{{/inline}} + +{{#*inline 'unknown'}} + {{name}} +{{/inline}} + +{{#if this}} + {{> (lookup . 'type') }} +{{else}} + void +{{/if}} diff --git a/tools/doc/typedoc-theme/partials/typeAndParent.hbs b/tools/doc/typedoc-theme/partials/typeAndParent.hbs new file mode 100644 index 0000000000..02b25f557d --- /dev/null +++ b/tools/doc/typedoc-theme/partials/typeAndParent.hbs @@ -0,0 +1,42 @@ +{{#compact}} + {{#if this}} + {{#if elementType}} + {{#with elementType}} + {{> typeAndParent}} + {{/with}} + [] + {{else}} + {{#if reflection}} + {{#ifSignature reflection}} + {{#if reflection.parent.parent.url}} + {{reflection.parent.parent.name}} + {{else}} + {{reflection.parent.parent.name}} + {{/if}} + . + {{#if reflection.parent.url}} + {{reflection.parent.name}} + {{else}} + {{reflection.parent.name}} + {{/if}} + {{else}} + {{#if reflection.parent.url}} + {{reflection.parent.name}} + {{else}} + {{reflection.parent.name}} + {{/if}} + . + {{#if reflection.url}} + {{reflection.name}} + {{else}} + {{reflection.name}} + {{/if}} + {{/ifSignature}} + {{else}} + {{this}} + {{/if}} + {{/if}} + {{else}} + void + {{/if}} +{{/compact}} \ No newline at end of file diff --git a/tools/doc/typedoc-theme/partials/typeParameters.hbs b/tools/doc/typedoc-theme/partials/typeParameters.hbs new file mode 100644 index 0000000000..a0adf80739 --- /dev/null +++ b/tools/doc/typedoc-theme/partials/typeParameters.hbs @@ -0,0 +1,14 @@ +
        + {{#each typeParameters}} +
      • +

        {{#compact}} + {{name}} + {{#if type}} + + {{#with type}}{{> type}}{{/with}} + {{/if}} + {{/compact}}

        + {{> comment}} +
      • + {{/each}} +
      diff --git a/tools/doc/typedoc-theme/templates/index.hbs b/tools/doc/typedoc-theme/templates/index.hbs new file mode 100644 index 0000000000..cf79d3d244 --- /dev/null +++ b/tools/doc/typedoc-theme/templates/index.hbs @@ -0,0 +1,3 @@ +
      + {{#markdown}}{{{model.readme}}}{{/markdown}} +
      \ No newline at end of file diff --git a/tools/doc/typedoc-theme/templates/reflection.hbs b/tools/doc/typedoc-theme/templates/reflection.hbs new file mode 100644 index 0000000000..78aa0660dc --- /dev/null +++ b/tools/doc/typedoc-theme/templates/reflection.hbs @@ -0,0 +1,79 @@ +{{#with model}} + {{#if hasComment}} +
      + {{> comment}} +
      + {{/if}} +{{/with}} + +{{#if model.typeParameters}} +
      +

      Type parameters

      + {{#with model}}{{> typeParameters}}{{/with}} +
      +{{/if}} + +{{#if model.typeHierarchy}} +
      +

      Hierarchy

      + {{#with model.typeHierarchy}}{{> hierarchy}}{{/with}} +
      +{{/if}} + +{{#if model.implementedTypes}} +
      +

      Implements

      +
        + {{#each model.implementedTypes}} +
      • {{#compact}}{{> type}}{{/compact}}
      • + {{/each}} +
      +
      +{{/if}} + +{{#if model.implementedBy}} +
      +

      Implemented by

      +
        + {{#each model.implementedBy}} +
      • {{#compact}}{{> type}}{{/compact}}
      • + {{/each}} +
      +
      +{{/if}} + +{{#if model.signatures}} +
      +

      Callable

      + {{#with model}}{{> member.signatures}}{{/with}} +
      +{{/if}} + +{{#if model.indexSignature}} +
      +

      Indexable

      +
      {{#compact}} + [ + {{#each model.indexSignature.parameters}} + {{name}}: {{#with type}}{{>type}}{{/with}} + {{/each}} + ]:  + {{#with model.indexSignature.type}}{{>type}}{{/with}} + {{/compact}}
      + + {{#with model.indexSignature}} + {{> comment}} + {{/with}} + + {{#if model.indexSignature.type.declaration}} + {{#with model.indexSignature.type.declaration}} + {{> parameter}} + {{/with}} + {{/if}} +
      +{{/if}} + +{{#with model}} + {{> index}} + {{> members}} +{{/with}} From d68ac02858afbf0356ad7bfc47374c417918254f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 23:40:25 +0100 Subject: [PATCH 08/15] docs: add plausible.io script tag --- tools/src/doc-table.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/src/doc-table.ts b/tools/src/doc-table.ts index f9fa70777d..f6e97a54d7 100644 --- a/tools/src/doc-table.ts +++ b/tools/src/doc-table.ts @@ -76,6 +76,15 @@ writeFileSync( rel: "stylesheet", }, ], + [ + "script", + { + async: true, + defer: true, + "data-domain": "thi.ng", + src: "https://plausible.io/js/plausible.js", + }, + ], ], [ "body.measure.center.sans-serif.lh-copy", From 5e994d0d76589083dd2ab8dd618fb9a0aa8066b7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 16 Aug 2020 23:40:42 +0100 Subject: [PATCH 09/15] docs: update upload-docs script --- scripts/upload-docs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upload-docs b/scripts/upload-docs index 0334308f2f..7420256b98 100755 --- a/scripts/upload-docs +++ b/scripts/upload-docs @@ -15,7 +15,7 @@ for m in $modules; do echo "minifying..." node_modules/.bin/html-minifier-terser $OPTS --input-dir $m/doc --output-dir $m/doc echo "syncing..." - aws s3 sync "$m"/doc s3://docs.thi.ng/umbrella/"$name" --profile toxi-s3 --acl public-read + aws s3 sync "$m"/doc s3://docs.thi.ng/umbrella/"$name" --profile toxi-s3 --acl public-read --include "*" --exclude "*.sass" --exclude "*.ts" done node_modules/.bin/ts-node -P tools/tsconfig.json tools/src/doc-table.ts From 7291181f6eb74751aa02dffbb95bb6787a5ef02f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 12:15:46 +0100 Subject: [PATCH 10/15] feat(parse): add replace/xfReplace() xform --- packages/parse/src/index.ts | 1 + packages/parse/src/xform/replace.ts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 packages/parse/src/xform/replace.ts diff --git a/packages/parse/src/index.ts b/packages/parse/src/index.ts index 406f522dab..aae9bc1389 100644 --- a/packages/parse/src/index.ts +++ b/packages/parse/src/index.ts @@ -49,5 +49,6 @@ export * from "./xform/join"; export * from "./xform/nest"; export * from "./xform/number"; export * from "./xform/print"; +export * from "./xform/replace"; export * from "./xform/trim"; export * from "./xform/with-id"; diff --git a/packages/parse/src/xform/replace.ts b/packages/parse/src/xform/replace.ts new file mode 100644 index 0000000000..45dae10320 --- /dev/null +++ b/packages/parse/src/xform/replace.ts @@ -0,0 +1,23 @@ +import type { Parser, ScopeTransform } from "../api"; +import { xform } from "../combinators/xform"; + +/** + * HOF scope transform which replaces a node's result with given pre-configured + * value and discards node's children. Also see {@link replace}. + * + * @param result - replacement value + */ +export const xfReplace = (result: any): ScopeTransform => (scope) => { + scope!.result = result; + scope!.children = null; + return scope; +}; + +/** + * Syntax sugar for `xform(parser, xfReplace(result))`. + * + * @param parser - + * @param result - + */ +export const replace = (parser: Parser, result: any) => + xform(parser, xfReplace(result)); From ca224328e55cb525cefd39dd53028a86a580fd7e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 12:17:17 +0100 Subject: [PATCH 11/15] feat(parse): enable replacement rule transforms - allow strings as rule transform in grammar --- packages/parse/src/grammar.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/parse/src/grammar.ts b/packages/parse/src/grammar.ts index f3ae9e9b11..2e12c6d0cd 100644 --- a/packages/parse/src/grammar.ts +++ b/packages/parse/src/grammar.ts @@ -19,6 +19,7 @@ import { seq, seqD } from "./combinators/seq"; import { xform } from "./combinators/xform"; import { defContext } from "./context"; import { ALPHA, ALPHA_NUM } from "./presets/alpha"; +import { BIT } from "./presets/bits"; import { DIGIT } from "./presets/digits"; import { ESC, UNICODE } from "./presets/escape"; import { HEX_DIGIT } from "./presets/hex"; @@ -46,6 +47,7 @@ import { join, xfJoin } from "./xform/join"; import { nest } from "./xform/nest"; import { xfFloat, xfInt } from "./xform/number"; import { print, xfPrint } from "./xform/print"; +import { xfReplace } from "./xform/replace"; import { xfTrim } from "./xform/trim"; import { withID } from "./xform/with-id"; @@ -122,7 +124,7 @@ const ALT = seq( ); const RULE_XF = hoist( - seq([stringD("=>"), WS1, alt([SYM, RULE_REF]), WS1], "xform") + seq([stringD("=>"), WS1, alt([SYM, RULE_REF, STRING]), WS1], "xform") ); const RULE = seq( @@ -196,6 +198,8 @@ compile.addAll({ const $xf = lang.rules[$id]; if (!$xf) illegalArgs(`missing xform rule: ${$id}`); parser = nest(parser, $xf); + } else if (xf.id === "string") { + parser = xform(parser, xfReplace(xf.result)); } return parser; }, @@ -377,6 +381,7 @@ export const defGrammar = ( ) => { opts = { debug: false, optimize: true, ...opts }; env = { + binary: xfInt(2), collect: xfCollect, count: xfCount, discard: xfDiscard, @@ -401,6 +406,7 @@ export const defGrammar = ( rules: { ALPHA_NUM, ALPHA, + BIT, DIGIT, DNL, END: inputEnd, From 25828732799473f5d3815b6125da7b0c83c8a496 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 12:17:44 +0100 Subject: [PATCH 12/15] docs(parse): update readme --- packages/parse/README.md | 18 +++++++++++++----- packages/parse/tpl.readme.md | 16 ++++++++++++---- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/packages/parse/README.md b/packages/parse/README.md index 792d70a9a8..064463b9d4 100644 --- a/packages/parse/README.md +++ b/packages/parse/README.md @@ -79,7 +79,7 @@ yarn add @thi.ng/parse ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.21 KB / CJS: 5.59 KB / UMD: 5.25 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.26 KB / CJS: 5.65 KB / UMD: 5.31 KB ## Dependencies @@ -202,6 +202,7 @@ Syntax sugars for `xform(parser, fn)`: - `join` - join child results into string - `nest` - apply another parser to result - `print` - print AST +- `replace` - replace AST node result w/ pre-configured value - `trim` - trim node result (string only) - `withID` - assign custom AST node ID @@ -217,6 +218,7 @@ Actual transforms: - `xfJoin` - `xfNest` - `xfPrint` +- `xfReplace` - `xfTrim` - `xfID` @@ -340,20 +342,24 @@ order: ### Rule transforms -Furthermore, each rule can specify an optional rule transform function or even -another parser rule, which will only be applied after the rule's parser has -successfully completed. The transform is given at the end of a rule, separated -by `=>`. +Furthermore, each rule can specify an optional rule transform function, result +string or even another parser rule, which will only be applied after the rule's +parser has successfully completed. The transform is given at the end of a rule, +separated by `=>`. If another parser rule is specified (via ``), it will be applied to result of the main rule in a separate parse context and its own results will be transplanted back into the main AST. +If a result string is given (e.g. `"foo"`), it will be used as the rule's result +instead and the node's children will be removed. + Custom transforms functions can be supplied via an additional arg to `defGrammar()`. The following default transforms are available by default (can be overwritten) and correspond to the [above mentioned transforms](#transformers): +- `binary` - parse as binary number - `collect` - collect sub terms into array - `discard` - discard result - `hoist` - replace AST node with its 1st child @@ -370,7 +376,9 @@ rule references in the grammar definition as well: - `ALPHA` - `ALPHA_NUM` +- `BIT` - `DIGIT` +- `DNL` - discarded newline - `END` - input end - `ESC` - escape sequences - `FLOAT` diff --git a/packages/parse/tpl.readme.md b/packages/parse/tpl.readme.md index c2f53c4b70..946383b8e1 100644 --- a/packages/parse/tpl.readme.md +++ b/packages/parse/tpl.readme.md @@ -148,6 +148,7 @@ Syntax sugars for `xform(parser, fn)`: - `join` - join child results into string - `nest` - apply another parser to result - `print` - print AST +- `replace` - replace AST node result w/ pre-configured value - `trim` - trim node result (string only) - `withID` - assign custom AST node ID @@ -163,6 +164,7 @@ Actual transforms: - `xfJoin` - `xfNest` - `xfPrint` +- `xfReplace` - `xfTrim` - `xfID` @@ -286,20 +288,24 @@ order: ### Rule transforms -Furthermore, each rule can specify an optional rule transform function or even -another parser rule, which will only be applied after the rule's parser has -successfully completed. The transform is given at the end of a rule, separated -by `=>`. +Furthermore, each rule can specify an optional rule transform function, result +string or even another parser rule, which will only be applied after the rule's +parser has successfully completed. The transform is given at the end of a rule, +separated by `=>`. If another parser rule is specified (via ``), it will be applied to result of the main rule in a separate parse context and its own results will be transplanted back into the main AST. +If a result string is given (e.g. `"foo"`), it will be used as the rule's result +instead and the node's children will be removed. + Custom transforms functions can be supplied via an additional arg to `defGrammar()`. The following default transforms are available by default (can be overwritten) and correspond to the [above mentioned transforms](#transformers): +- `binary` - parse as binary number - `collect` - collect sub terms into array - `discard` - discard result - `hoist` - replace AST node with its 1st child @@ -316,7 +322,9 @@ rule references in the grammar definition as well: - `ALPHA` - `ALPHA_NUM` +- `BIT` - `DIGIT` +- `DNL` - discarded newline - `END` - input end - `ESC` - escape sequences - `FLOAT` From bffbedb0589bd173de0aa49293b110461b33d579 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 15:00:14 +0100 Subject: [PATCH 13/15] fix(rstream-gestures): don't cache DPR value - fixes issue when window is moved between displays w/ different densities --- packages/rstream-gestures/src/gesture-stream.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rstream-gestures/src/gesture-stream.ts b/packages/rstream-gestures/src/gesture-stream.ts index 4cda4dc9c9..57ae4da0a6 100644 --- a/packages/rstream-gestures/src/gesture-stream.ts +++ b/packages/rstream-gestures/src/gesture-stream.ts @@ -81,7 +81,6 @@ export const gestureStream = ( scale: false, ..._opts, }; - const dpr = window.devicePixelRatio || 1; const active: GestureInfo[] = []; let zoom = clamp(opts.zoom, opts.minZoom, opts.maxZoom); let zoomDelta = 0; @@ -125,6 +124,7 @@ export const gestureStream = ( y -= b.top; } if (opts.scale) { + const dpr = window.devicePixelRatio || 1; x *= dpr; y *= dpr; } From fdc76dcd1fc5a7f50bf54ddf08a3f85762d45462 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 17:11:01 +0100 Subject: [PATCH 14/15] docs(rstream-gestures): regen readme --- packages/rstream-gestures/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rstream-gestures/README.md b/packages/rstream-gestures/README.md index a2f30f03da..b7dd9d863f 100644 --- a/packages/rstream-gestures/README.md +++ b/packages/rstream-gestures/README.md @@ -52,7 +52,7 @@ yarn add @thi.ng/rstream-gestures ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.22 KB / CJS: 1.27 KB / UMD: 1.36 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.21 KB / CJS: 1.27 KB / UMD: 1.36 KB ## Dependencies From 44824f17050b412d635b576bf5f9b2136dac9554 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 17 Aug 2020 17:11:55 +0100 Subject: [PATCH 15/15] Publish - @thi.ng/adapt-dpi@1.0.6 - @thi.ng/adjacency@0.1.58 - @thi.ng/api@6.12.2 - @thi.ng/arrays@0.6.15 - @thi.ng/associative@5.0.4 - @thi.ng/atom@4.1.18 - @thi.ng/bench@2.0.18 - @thi.ng/bencode@0.3.36 - @thi.ng/binary@2.0.13 - @thi.ng/bitfield@0.3.18 - @thi.ng/bitstream@1.1.24 - @thi.ng/cache@1.0.56 - @thi.ng/checks@2.7.6 - @thi.ng/color@1.2.13 - @thi.ng/compare@1.3.14 - @thi.ng/compose@1.4.15 - @thi.ng/csp@1.1.36 - @thi.ng/dcons@2.2.29 - @thi.ng/defmulti@1.2.23 - @thi.ng/dgraph-dot@0.1.24 - @thi.ng/dgraph@1.2.24 - @thi.ng/diff@3.2.29 - @thi.ng/dl-asset@0.4.3 - @thi.ng/dlogic@1.0.29 - @thi.ng/dot@1.2.15 - @thi.ng/dsp-io-wav@0.1.26 - @thi.ng/dsp@2.0.28 - @thi.ng/dynvar@0.1.21 - @thi.ng/ecs@0.3.31 - @thi.ng/equiv@1.0.29 - @thi.ng/errors@1.2.19 - @thi.ng/fsm@2.4.22 - @thi.ng/geom-accel@2.1.20 - @thi.ng/geom-api@1.0.31 - @thi.ng/geom-arc@0.3.9 - @thi.ng/geom-clip-line@1.2.5 - @thi.ng/geom-clip-poly@1.0.30 - @thi.ng/geom-closest-point@0.3.42 - @thi.ng/geom-fuzz@0.1.15 - @thi.ng/geom-hull@0.0.62 - @thi.ng/geom-io-obj@0.1.20 - @thi.ng/geom-isec@0.5.5 - @thi.ng/geom-isoline@0.1.60 - @thi.ng/geom-poly-utils@0.1.61 - @thi.ng/geom-resample@0.2.42 - @thi.ng/geom-splines@0.5.29 - @thi.ng/geom-subdiv-curve@0.1.59 - @thi.ng/geom-tessellate@0.2.43 - @thi.ng/geom-voronoi@0.2.5 - @thi.ng/geom@1.11.5 - @thi.ng/gp@0.1.29 - @thi.ng/grid-iterators@0.4.8 - @thi.ng/hdiff@0.1.12 - @thi.ng/hdom-canvas@3.0.15 - @thi.ng/hdom-components@4.0.10 - @thi.ng/hdom-mock@1.1.39 - @thi.ng/hdom@8.2.7 - @thi.ng/heaps@1.2.22 - @thi.ng/hiccup-canvas@1.1.5 - @thi.ng/hiccup-carbon-icons@1.0.51 - @thi.ng/hiccup-css@1.1.36 - @thi.ng/hiccup-html@0.3.3 - @thi.ng/hiccup-markdown@1.2.30 - @thi.ng/hiccup-svg@3.5.9 - @thi.ng/hiccup@3.5.7 - @thi.ng/idgen@0.2.20 - @thi.ng/iges@1.1.44 - @thi.ng/imgui@0.2.35 - @thi.ng/interceptors@2.2.29 - @thi.ng/intervals@2.0.22 - @thi.ng/iterators@5.1.36 - @thi.ng/layout@0.1.20 - @thi.ng/leb128@1.0.30 - @thi.ng/lsys@0.2.57 - @thi.ng/malloc@4.1.23 - @thi.ng/math@2.0.3 - @thi.ng/matrices@0.6.29 - @thi.ng/memoize@2.0.19 - @thi.ng/mime@0.1.19 - @thi.ng/morton@2.0.22 - @thi.ng/oquery@0.1.9 - @thi.ng/parse@0.9.0 - @thi.ng/paths@4.1.4 - @thi.ng/pixel@0.4.3 - @thi.ng/pointfree-lang@1.4.11 - @thi.ng/pointfree@2.0.12 - @thi.ng/poisson@1.1.13 - @thi.ng/porter-duff@0.1.28 - @thi.ng/prefixes@0.1.3 - @thi.ng/quad-edge@0.2.21 - @thi.ng/ramp@0.1.31 - @thi.ng/random@1.4.17 - @thi.ng/range-coder@1.0.56 - @thi.ng/rdom-canvas@0.1.12 - @thi.ng/rdom-components@0.1.9 - @thi.ng/rdom@0.2.8 - @thi.ng/resolve-map@4.2.3 - @thi.ng/rle-pack@2.1.24 - @thi.ng/router@2.0.29 - @thi.ng/rstream-csp@2.0.37 - @thi.ng/rstream-dot@1.1.44 - @thi.ng/rstream-gestures@2.0.36 - @thi.ng/rstream-graph@3.2.38 - @thi.ng/rstream-log-file@0.1.59 - @thi.ng/rstream-log@3.1.44 - @thi.ng/rstream-query@1.1.44 - @thi.ng/rstream@5.0.2 - @thi.ng/sax@1.1.36 - @thi.ng/scenegraph@0.3.3 - @thi.ng/seq@0.2.21 - @thi.ng/sexpr@0.2.24 - @thi.ng/shader-ast-glsl@0.2.7 - @thi.ng/shader-ast-js@0.5.3 - @thi.ng/shader-ast-stdlib@0.4.6 - @thi.ng/shader-ast@0.6.3 - @thi.ng/simd@0.4.3 - @thi.ng/soa@0.1.33 - @thi.ng/sparse@0.1.52 - @thi.ng/strings@1.9.3 - @thi.ng/system@0.2.24 - @thi.ng/text-canvas@0.2.27 - @thi.ng/transducers-binary@0.5.26 - @thi.ng/transducers-fsm@1.1.36 - @thi.ng/transducers-hdom@2.0.68 - @thi.ng/transducers-patch@0.1.27 - @thi.ng/transducers-stats@1.1.36 - @thi.ng/transducers@7.2.2 - @thi.ng/unionstruct@1.1.22 - @thi.ng/vector-pools@1.0.42 - @thi.ng/vectors@4.6.2 - @thi.ng/webgl-msdf@0.1.56 - @thi.ng/webgl-shadertoy@0.2.43 - @thi.ng/webgl@3.2.1 - @thi.ng/zipper@0.1.23 --- packages/adapt-dpi/CHANGELOG.md | 8 ++++ packages/adapt-dpi/package.json | 2 +- packages/adjacency/CHANGELOG.md | 8 ++++ packages/adjacency/package.json | 16 +++---- packages/api/CHANGELOG.md | 8 ++++ packages/api/package.json | 2 +- packages/arrays/CHANGELOG.md | 8 ++++ packages/arrays/package.json | 14 +++--- packages/associative/CHANGELOG.md | 8 ++++ packages/associative/package.json | 18 ++++---- packages/atom/CHANGELOG.md | 8 ++++ packages/atom/package.json | 10 ++--- packages/bench/CHANGELOG.md | 8 ++++ packages/bench/package.json | 2 +- packages/bencode/CHANGELOG.md | 8 ++++ packages/bencode/package.json | 16 +++---- packages/binary/CHANGELOG.md | 8 ++++ packages/binary/package.json | 2 +- packages/bitfield/CHANGELOG.md | 8 ++++ packages/bitfield/package.json | 8 ++-- packages/bitstream/CHANGELOG.md | 8 ++++ packages/bitstream/package.json | 4 +- packages/cache/CHANGELOG.md | 8 ++++ packages/cache/package.json | 8 ++-- packages/checks/CHANGELOG.md | 8 ++++ packages/checks/package.json | 2 +- packages/color/CHANGELOG.md | 8 ++++ packages/color/package.json | 20 ++++----- packages/compare/CHANGELOG.md | 8 ++++ packages/compare/package.json | 4 +- packages/compose/CHANGELOG.md | 8 ++++ packages/compose/package.json | 6 +-- packages/csp/CHANGELOG.md | 8 ++++ packages/csp/package.json | 14 +++--- packages/dcons/CHANGELOG.md | 8 ++++ packages/dcons/package.json | 16 +++---- packages/defmulti/CHANGELOG.md | 8 ++++ packages/defmulti/package.json | 6 +-- packages/dgraph-dot/CHANGELOG.md | 8 ++++ packages/dgraph-dot/package.json | 8 ++-- packages/dgraph/CHANGELOG.md | 8 ++++ packages/dgraph/package.json | 12 ++--- packages/diff/CHANGELOG.md | 8 ++++ packages/diff/package.json | 6 +-- packages/dl-asset/CHANGELOG.md | 8 ++++ packages/dl-asset/package.json | 8 ++-- packages/dlogic/CHANGELOG.md | 8 ++++ packages/dlogic/package.json | 2 +- packages/dot/CHANGELOG.md | 8 ++++ packages/dot/package.json | 6 +-- packages/dsp-io-wav/CHANGELOG.md | 8 ++++ packages/dsp-io-wav/package.json | 10 ++--- packages/dsp/CHANGELOG.md | 8 ++++ packages/dsp/package.json | 14 +++--- packages/dynvar/CHANGELOG.md | 8 ++++ packages/dynvar/package.json | 4 +- packages/ecs/CHANGELOG.md | 8 ++++ packages/ecs/package.json | 18 ++++---- packages/equiv/CHANGELOG.md | 8 ++++ packages/equiv/package.json | 2 +- packages/errors/CHANGELOG.md | 8 ++++ packages/errors/package.json | 2 +- packages/fsm/CHANGELOG.md | 8 ++++ packages/fsm/package.json | 14 +++--- packages/geom-accel/CHANGELOG.md | 8 ++++ packages/geom-accel/package.json | 22 ++++----- packages/geom-api/CHANGELOG.md | 8 ++++ packages/geom-api/package.json | 6 +-- packages/geom-arc/CHANGELOG.md | 8 ++++ packages/geom-arc/package.json | 12 ++--- packages/geom-clip-line/CHANGELOG.md | 8 ++++ packages/geom-clip-line/package.json | 6 +-- packages/geom-clip-poly/CHANGELOG.md | 8 ++++ packages/geom-clip-poly/package.json | 10 ++--- packages/geom-closest-point/CHANGELOG.md | 8 ++++ packages/geom-closest-point/package.json | 6 +-- packages/geom-fuzz/CHANGELOG.md | 8 ++++ packages/geom-fuzz/package.json | 22 ++++----- packages/geom-hull/CHANGELOG.md | 8 ++++ packages/geom-hull/package.json | 6 +-- packages/geom-io-obj/CHANGELOG.md | 8 ++++ packages/geom-io-obj/package.json | 6 +-- packages/geom-isec/CHANGELOG.md | 8 ++++ packages/geom-isec/package.json | 12 ++--- packages/geom-isoline/CHANGELOG.md | 8 ++++ packages/geom-isoline/package.json | 8 ++-- packages/geom-poly-utils/CHANGELOG.md | 8 ++++ packages/geom-poly-utils/package.json | 10 ++--- packages/geom-resample/CHANGELOG.md | 8 ++++ packages/geom-resample/package.json | 12 ++--- packages/geom-splines/CHANGELOG.md | 8 ++++ packages/geom-splines/package.json | 16 +++---- packages/geom-subdiv-curve/CHANGELOG.md | 8 ++++ packages/geom-subdiv-curve/package.json | 8 ++-- packages/geom-tessellate/CHANGELOG.md | 8 ++++ packages/geom-tessellate/package.json | 14 +++--- packages/geom-voronoi/CHANGELOG.md | 8 ++++ packages/geom-voronoi/package.json | 20 ++++----- packages/geom/CHANGELOG.md | 8 ++++ packages/geom/package.json | 54 +++++++++++------------ packages/gp/CHANGELOG.md | 8 ++++ packages/gp/package.json | 12 ++--- packages/grid-iterators/CHANGELOG.md | 8 ++++ packages/grid-iterators/package.json | 12 ++--- packages/hdiff/CHANGELOG.md | 8 ++++ packages/hdiff/package.json | 12 ++--- packages/hdom-canvas/CHANGELOG.md | 8 ++++ packages/hdom-canvas/package.json | 12 ++--- packages/hdom-components/CHANGELOG.md | 8 ++++ packages/hdom-components/package.json | 14 +++--- packages/hdom-mock/CHANGELOG.md | 8 ++++ packages/hdom-mock/package.json | 8 ++-- packages/hdom/CHANGELOG.md | 8 ++++ packages/hdom/package.json | 18 ++++---- packages/heaps/CHANGELOG.md | 8 ++++ packages/heaps/package.json | 6 +-- packages/hiccup-canvas/CHANGELOG.md | 8 ++++ packages/hiccup-canvas/package.json | 12 ++--- packages/hiccup-carbon-icons/CHANGELOG.md | 8 ++++ packages/hiccup-carbon-icons/package.json | 4 +- packages/hiccup-css/CHANGELOG.md | 8 ++++ packages/hiccup-css/package.json | 10 ++--- packages/hiccup-html/CHANGELOG.md | 8 ++++ packages/hiccup-html/package.json | 4 +- packages/hiccup-markdown/CHANGELOG.md | 8 ++++ packages/hiccup-markdown/package.json | 22 ++++----- packages/hiccup-svg/CHANGELOG.md | 8 ++++ packages/hiccup-svg/package.json | 8 ++-- packages/hiccup/CHANGELOG.md | 8 ++++ packages/hiccup/package.json | 12 ++--- packages/idgen/CHANGELOG.md | 8 ++++ packages/idgen/package.json | 4 +- packages/iges/CHANGELOG.md | 8 ++++ packages/iges/package.json | 14 +++--- packages/imgui/CHANGELOG.md | 8 ++++ packages/imgui/package.json | 22 ++++----- packages/interceptors/CHANGELOG.md | 8 ++++ packages/interceptors/package.json | 12 ++--- packages/intervals/CHANGELOG.md | 8 ++++ packages/intervals/package.json | 10 ++--- packages/iterators/CHANGELOG.md | 8 ++++ packages/iterators/package.json | 8 ++-- packages/layout/CHANGELOG.md | 8 ++++ packages/layout/package.json | 4 +- packages/leb128/CHANGELOG.md | 8 ++++ packages/leb128/package.json | 8 ++-- packages/lsys/CHANGELOG.md | 8 ++++ packages/lsys/package.json | 16 +++---- packages/malloc/CHANGELOG.md | 8 ++++ packages/malloc/package.json | 10 ++--- packages/math/CHANGELOG.md | 8 ++++ packages/math/package.json | 2 +- packages/matrices/CHANGELOG.md | 8 ++++ packages/matrices/package.json | 10 ++--- packages/memoize/CHANGELOG.md | 8 ++++ packages/memoize/package.json | 4 +- packages/mime/CHANGELOG.md | 8 ++++ packages/mime/package.json | 4 +- packages/morton/CHANGELOG.md | 8 ++++ packages/morton/package.json | 8 ++-- packages/oquery/CHANGELOG.md | 8 ++++ packages/oquery/package.json | 12 ++--- packages/parse/CHANGELOG.md | 12 +++++ packages/parse/package.json | 12 ++--- packages/paths/CHANGELOG.md | 8 ++++ packages/paths/package.json | 8 ++-- packages/pixel/CHANGELOG.md | 8 ++++ packages/pixel/package.json | 10 ++--- packages/pointfree-lang/CHANGELOG.md | 8 ++++ packages/pointfree-lang/package.json | 10 ++--- packages/pointfree/CHANGELOG.md | 8 ++++ packages/pointfree/package.json | 12 ++--- packages/poisson/CHANGELOG.md | 8 ++++ packages/poisson/package.json | 12 ++--- packages/porter-duff/CHANGELOG.md | 8 ++++ packages/porter-duff/package.json | 6 +-- packages/prefixes/CHANGELOG.md | 8 ++++ packages/prefixes/package.json | 2 +- packages/quad-edge/CHANGELOG.md | 8 ++++ packages/quad-edge/package.json | 2 +- packages/ramp/CHANGELOG.md | 8 ++++ packages/ramp/package.json | 12 ++--- packages/random/CHANGELOG.md | 8 ++++ packages/random/package.json | 6 +-- packages/range-coder/CHANGELOG.md | 8 ++++ packages/range-coder/package.json | 6 +-- packages/rdom-canvas/CHANGELOG.md | 8 ++++ packages/rdom-canvas/package.json | 16 +++---- packages/rdom-components/CHANGELOG.md | 8 ++++ packages/rdom-components/package.json | 16 +++---- packages/rdom/CHANGELOG.md | 8 ++++ packages/rdom/package.json | 18 ++++---- packages/resolve-map/CHANGELOG.md | 8 ++++ packages/resolve-map/package.json | 10 ++--- packages/rle-pack/CHANGELOG.md | 8 ++++ packages/rle-pack/package.json | 6 +-- packages/router/CHANGELOG.md | 8 ++++ packages/router/package.json | 10 ++--- packages/rstream-csp/CHANGELOG.md | 8 ++++ packages/rstream-csp/package.json | 6 +-- packages/rstream-dot/CHANGELOG.md | 8 ++++ packages/rstream-dot/package.json | 4 +- packages/rstream-gestures/CHANGELOG.md | 11 +++++ packages/rstream-gestures/package.json | 12 ++--- packages/rstream-graph/CHANGELOG.md | 8 ++++ packages/rstream-graph/package.json | 18 ++++---- packages/rstream-log-file/CHANGELOG.md | 8 ++++ packages/rstream-log-file/package.json | 4 +- packages/rstream-log/CHANGELOG.md | 8 ++++ packages/rstream-log/package.json | 12 ++--- packages/rstream-query/CHANGELOG.md | 8 ++++ packages/rstream-query/package.json | 20 ++++----- packages/rstream/CHANGELOG.md | 8 ++++ packages/rstream/package.json | 16 +++---- packages/sax/CHANGELOG.md | 8 ++++ packages/sax/package.json | 8 ++-- packages/scenegraph/CHANGELOG.md | 8 ++++ packages/scenegraph/package.json | 10 ++--- packages/seq/CHANGELOG.md | 8 ++++ packages/seq/package.json | 6 +-- packages/sexpr/CHANGELOG.md | 8 ++++ packages/sexpr/package.json | 8 ++-- packages/shader-ast-glsl/CHANGELOG.md | 8 ++++ packages/shader-ast-glsl/package.json | 10 ++--- packages/shader-ast-js/CHANGELOG.md | 8 ++++ packages/shader-ast-js/package.json | 18 ++++---- packages/shader-ast-stdlib/CHANGELOG.md | 8 ++++ packages/shader-ast-stdlib/package.json | 6 +-- packages/shader-ast/CHANGELOG.md | 8 ++++ packages/shader-ast/package.json | 12 ++--- packages/simd/CHANGELOG.md | 8 ++++ packages/simd/package.json | 4 +- packages/soa/CHANGELOG.md | 8 ++++ packages/soa/package.json | 12 ++--- packages/sparse/CHANGELOG.md | 8 ++++ packages/sparse/package.json | 6 +-- packages/strings/CHANGELOG.md | 8 ++++ packages/strings/package.json | 8 ++-- packages/system/CHANGELOG.md | 8 ++++ packages/system/package.json | 6 +-- packages/text-canvas/CHANGELOG.md | 8 ++++ packages/text-canvas/package.json | 18 ++++---- packages/transducers-binary/CHANGELOG.md | 8 ++++ packages/transducers-binary/package.json | 14 +++--- packages/transducers-fsm/CHANGELOG.md | 8 ++++ packages/transducers-fsm/package.json | 6 +-- packages/transducers-hdom/CHANGELOG.md | 8 ++++ packages/transducers-hdom/package.json | 8 ++-- packages/transducers-patch/CHANGELOG.md | 8 ++++ packages/transducers-patch/package.json | 12 ++--- packages/transducers-stats/CHANGELOG.md | 8 ++++ packages/transducers-stats/package.json | 10 ++--- packages/transducers/CHANGELOG.md | 8 ++++ packages/transducers/package.json | 18 ++++---- packages/unionstruct/CHANGELOG.md | 8 ++++ packages/unionstruct/package.json | 2 +- packages/vector-pools/CHANGELOG.md | 8 ++++ packages/vector-pools/package.json | 14 +++--- packages/vectors/CHANGELOG.md | 8 ++++ packages/vectors/package.json | 20 ++++----- packages/webgl-msdf/CHANGELOG.md | 8 ++++ packages/webgl-msdf/package.json | 14 +++--- packages/webgl-shadertoy/CHANGELOG.md | 8 ++++ packages/webgl-shadertoy/package.json | 10 ++--- packages/webgl/CHANGELOG.md | 8 ++++ packages/webgl/package.json | 30 ++++++------- packages/zipper/CHANGELOG.md | 8 ++++ packages/zipper/package.json | 8 ++-- 268 files changed, 1781 insertions(+), 702 deletions(-) diff --git a/packages/adapt-dpi/CHANGELOG.md b/packages/adapt-dpi/CHANGELOG.md index 03f461638b..c583ec2084 100644 --- a/packages/adapt-dpi/CHANGELOG.md +++ b/packages/adapt-dpi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.5...@thi.ng/adapt-dpi@1.0.6) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/adapt-dpi + + + + + ## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.4...@thi.ng/adapt-dpi@1.0.5) (2020-08-16) **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 13bcfa2f79..e07889bc9c 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.5", + "version": "1.0.6", "description": "HDPI canvas adapter / styling utility", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 475172f6f5..55dccd2b3b 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.57...@thi.ng/adjacency@0.1.58) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/adjacency + + + + + ## [0.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.56...@thi.ng/adjacency@0.1.57) (2020-08-16) **Note:** Version bump only for package @thi.ng/adjacency diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index bffbccbbe9..b1bdc908be 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.1.57", + "version": "0.1.58", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/vectors": "^4.6.1", + "@thi.ng/vectors": "^4.6.2", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,12 +50,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/bitfield": "^0.3.17", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/sparse": "^0.1.51" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/bitfield": "^0.3.18", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/sparse": "^0.1.52" }, "files": [ "*.js", diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index ea3815ce2e..cc5c32f545 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.12.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.12.1...@thi.ng/api@6.12.2) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/api + + + + + ## [6.12.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.12.0...@thi.ng/api@6.12.1) (2020-08-16) **Note:** Version bump only for package @thi.ng/api diff --git a/packages/api/package.json b/packages/api/package.json index a26afcaef5..c1f2ddc528 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "6.12.1", + "version": "6.12.2", "description": "Common, generic types, interfaces & mixins", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 513eb0f15e..57e8ff367f 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.14...@thi.ng/arrays@0.6.15) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/arrays + + + + + ## [0.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.13...@thi.ng/arrays@0.6.14) (2020-08-16) **Note:** Version bump only for package @thi.ng/arrays diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 92e521029c..021aeda6df 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.6.14", + "version": "0.6.15", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compare": "^1.3.13", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/random": "^1.4.16" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compare": "^1.3.14", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/random": "^1.4.17" }, "files": [ "*.js", diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index c574a65f87..4726b2e309 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.3...@thi.ng/associative@5.0.4) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/associative + + + + + ## [5.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.2...@thi.ng/associative@5.0.3) (2020-08-16) **Note:** Version bump only for package @thi.ng/associative diff --git a/packages/associative/package.json b/packages/associative/package.json index 30be7172e6..b365488c65 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "5.0.3", + "version": "5.0.4", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,14 +49,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compare": "^1.3.13", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1", + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compare": "^1.3.14", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index e0dee2c910..5ffa68ed9d 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.17...@thi.ng/atom@4.1.18) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/atom + + + + + ## [4.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.16...@thi.ng/atom@4.1.17) (2020-08-16) **Note:** Version bump only for package @thi.ng/atom diff --git a/packages/atom/package.json b/packages/atom/package.json index ccc19e4ef0..48eef13230 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "4.1.17", + "version": "4.1.18", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/paths": "^4.1.3", + "@thi.ng/api": "^6.12.2", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/paths": "^4.1.4", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index e035fd2f94..66fd91d64c 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.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.17...@thi.ng/bench@2.0.18) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/bench + + + + + ## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.16...@thi.ng/bench@2.0.17) (2020-08-16) **Note:** Version bump only for package @thi.ng/bench diff --git a/packages/bench/package.json b/packages/bench/package.json index a6fa53aad2..ee744f4cd0 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bench", - "version": "2.0.17", + "version": "2.0.18", "description": "Benchmarking utilities w/ optional statistics", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index d888ee3754..29bc2f0234 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.35...@thi.ng/bencode@0.3.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/bencode + + + + + ## [0.3.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.34...@thi.ng/bencode@0.3.35) (2020-08-16) **Note:** Version bump only for package @thi.ng/bencode diff --git a/packages/bencode/package.json b/packages/bencode/package.json index f3a40a918c..d488a1572a 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.35", + "version": "0.3.36", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -49,13 +49,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/transducers-binary": "^0.5.25" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/transducers-binary": "^0.5.26" }, "files": [ "*.js", diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 954411dcd5..55c7c7a34f 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.12...@thi.ng/binary@2.0.13) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/binary + + + + + ## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.11...@thi.ng/binary@2.0.12) (2020-08-16) **Note:** Version bump only for package @thi.ng/binary diff --git a/packages/binary/package.json b/packages/binary/package.json index 9e29c8596e..a1c5a3b895 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/binary", - "version": "2.0.12", + "version": "2.0.13", "description": "95+ assorted binary / bitwise operations, conversions, utilities", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index d07ffb19bb..ae6a6e25c4 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.17...@thi.ng/bitfield@0.3.18) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/bitfield + + + + + ## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.16...@thi.ng/bitfield@0.3.17) (2020-08-16) **Note:** Version bump only for package @thi.ng/bitfield diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 2f7611c097..50845dba0c 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.3.17", + "version": "0.3.18", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/strings": "^1.9.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/strings": "^1.9.3" }, "files": [ "*.js", diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index 8fea0772d0..55cf558d0d 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.23...@thi.ng/bitstream@1.1.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/bitstream + + + + + ## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.22...@thi.ng/bitstream@1.1.23) (2020-08-16) **Note:** Version bump only for package @thi.ng/bitstream diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index ffd56e2f21..823477fbfb 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitstream", - "version": "1.1.23", + "version": "1.1.24", "description": "ES6 iterator based read/write bit streams with support for variable word widths", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/errors": "^1.2.18" + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index 5c40d00275..c044685434 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.55...@thi.ng/cache@1.0.56) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/cache + + + + + ## [1.0.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.54...@thi.ng/cache@1.0.55) (2020-08-16) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index 9b3f287a82..6b562752fa 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.55", + "version": "1.0.56", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index ff987113ba..f7af0ac257 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.7.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.5...@thi.ng/checks@2.7.6) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/checks + + + + + ## [2.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.4...@thi.ng/checks@2.7.5) (2020-08-16) **Note:** Version bump only for package @thi.ng/checks diff --git a/packages/checks/package.json b/packages/checks/package.json index 157c70fe9f..5fd2931e61 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/checks", - "version": "2.7.5", + "version": "2.7.6", "description": "Collection of 50+ type, feature & value checks", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index 401bb3c2a7..2a78b0c6ee 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.12...@thi.ng/color@1.2.13) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/color + + + + + ## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.11...@thi.ng/color@1.2.12) (2020-08-16) **Note:** Version bump only for package @thi.ng/color diff --git a/packages/color/package.json b/packages/color/package.json index 0bf4192bad..ba41f7aca9 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "1.2.12", + "version": "1.2.13", "description": "Array-based color ops, conversions, multi-color gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -49,15 +49,15 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compose": "^1.4.14", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compose": "^1.4.15", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index acfd836520..4ae5275e48 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.13...@thi.ng/compare@1.3.14) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/compare + + + + + ## [1.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.12...@thi.ng/compare@1.3.13) (2020-08-16) **Note:** Version bump only for package @thi.ng/compare diff --git a/packages/compare/package.json b/packages/compare/package.json index f550f1ec5e..590e8748e9 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "1.3.13", + "version": "1.3.14", "description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1" + "@thi.ng/api": "^6.12.2" }, "files": [ "*.js", diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index a4197293f8..51e8e9df20 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.14...@thi.ng/compose@1.4.15) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/compose + + + + + ## [1.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.13...@thi.ng/compose@1.4.14) (2020-08-16) **Note:** Version bump only for package @thi.ng/compose diff --git a/packages/compose/package.json b/packages/compose/package.json index 74d471447a..f7d303b587 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "1.4.14", + "version": "1.4.15", "description": "Optimized functional composition helpers", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index beec02b07b..9a9196cfca 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.35...@thi.ng/csp@1.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/csp + + + + + ## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.34...@thi.ng/csp@1.1.35) (2020-08-16) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index 243fab835b..35284b3bd0 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.35", + "version": "1.1.36", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -53,12 +53,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index 958fc844a3..a7fdc4bf80 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.28...@thi.ng/dcons@2.2.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + ## [2.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.27...@thi.ng/dcons@2.2.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 03e3f2797a..fc2892adf3 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.2.28", + "version": "2.2.29", "description": "Double-linked list with comprehensive set of operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,13 +49,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compare": "^1.3.13", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compare": "^1.3.14", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index a5e6a090a2..80c9cd1211 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.22...@thi.ng/defmulti@1.2.23) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/defmulti + + + + + ## [1.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.21...@thi.ng/defmulti@1.2.22) (2020-08-16) **Note:** Version bump only for package @thi.ng/defmulti diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index bbb9edf706..f06072d63d 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "1.2.22", + "version": "1.2.23", "description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index 31855c30b1..7e2817d89b 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.23...@thi.ng/dgraph-dot@0.1.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dgraph-dot + + + + + ## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.22...@thi.ng/dgraph-dot@0.1.23) (2020-08-16) **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 f441c551ed..d8093e0932 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.23", + "version": "0.1.24", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/dgraph": "^1.2.23", - "@thi.ng/dot": "^1.2.14" + "@thi.ng/api": "^6.12.2", + "@thi.ng/dgraph": "^1.2.24", + "@thi.ng/dot": "^1.2.15" }, "files": [ "*.js", diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 636706a868..b5898e98db 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.23...@thi.ng/dgraph@1.2.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + ## [1.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.22...@thi.ng/dgraph@1.2.23) (2020-08-16) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index ab4ce4e35f..3ed7a8ac14 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.2.23", + "version": "1.2.24", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index ce1da5ff21..5c04248c7d 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.28...@thi.ng/diff@3.2.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/diff + + + + + ## [3.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.27...@thi.ng/diff@3.2.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/diff diff --git a/packages/diff/package.json b/packages/diff/package.json index a179444319..113e438883 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "3.2.28", + "version": "3.2.29", "description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs", "module": "./index.js", "main": "./lib/index.js", @@ -48,8 +48,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/equiv": "^1.0.28" + "@thi.ng/api": "^6.12.2", + "@thi.ng/equiv": "^1.0.29" }, "files": [ "*.js", diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 4747bd52b7..3b0e7bb5b5 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.2...@thi.ng/dl-asset@0.4.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dl-asset + + + + + ## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.1...@thi.ng/dl-asset@0.4.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/dl-asset diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index 5b5549648f..a1dc7ae000 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.2", + "version": "0.4.3", "description": "Local asset download for web apps, with automatic MIME type detection", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/mime": "^0.1.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/mime": "^0.1.19" }, "files": [ "*.js", diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index 177cb51735..0a55cee9c9 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.28...@thi.ng/dlogic@1.0.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dlogic + + + + + ## [1.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.27...@thi.ng/dlogic@1.0.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/dlogic diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index 682b35e427..1cd609f07e 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dlogic", - "version": "1.0.28", + "version": "1.0.29", "description": "Assorted digital logic ops / constructs", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index 23625783b6..c7c99a609b 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.14...@thi.ng/dot@1.2.15) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dot + + + + + ## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.13...@thi.ng/dot@1.2.14) (2020-08-16) **Note:** Version bump only for package @thi.ng/dot diff --git a/packages/dot/package.json b/packages/dot/package.json index c951bdf29a..088fd55d86 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "1.2.14", + "version": "1.2.15", "description": "Graphviz document abstraction & serialization to DOT format", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6" }, "files": [ "*.js", diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index c542f60d11..0169670f71 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.25...@thi.ng/dsp-io-wav@0.1.26) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dsp-io-wav + + + + + ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.24...@thi.ng/dsp-io-wav@0.1.25) (2020-08-16) **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 65c32e2509..f46d576cfa 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.25", + "version": "0.1.26", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/transducers-binary": "^0.5.25" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/transducers-binary": "^0.5.26" }, "files": [ "*.js", diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index f09951e6bb..2a97b58f15 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.27...@thi.ng/dsp@2.0.28) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + ## [2.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.26...@thi.ng/dsp@2.0.27) (2020-08-16) **Note:** Version bump only for package @thi.ng/dsp diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 07b3090c7b..aa785ea4cf 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "2.0.27", + "version": "2.0.28", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 8b407b1044..9ec5c90ea0 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.20...@thi.ng/dynvar@0.1.21) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/dynvar + + + + + ## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.19...@thi.ng/dynvar@0.1.20) (2020-08-16) **Note:** Version bump only for package @thi.ng/dynvar diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index 00bcc873df..ed350fb78b 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dynvar", - "version": "0.1.20", + "version": "0.1.21", "description": "Dynamically scoped variable bindings", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1" + "@thi.ng/api": "^6.12.2" }, "files": [ "*.js", diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 5d933c6596..a26b522c0f 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.30...@thi.ng/ecs@0.3.31) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/ecs + + + + + ## [0.3.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.29...@thi.ng/ecs@0.3.30) (2020-08-16) **Note:** Version bump only for package @thi.ng/ecs diff --git a/packages/ecs/package.json b/packages/ecs/package.json index aef48cccea..49bd70bc2e 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.3.30", + "version": "0.3.31", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/equiv": "^1.0.28", + "@thi.ng/equiv": "^1.0.29", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,13 +50,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/idgen": "^0.2.19", - "@thi.ng/transducers": "^7.2.1", + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/idgen": "^0.2.20", + "@thi.ng/transducers": "^7.2.2", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index 55f18939ec..d56221f117 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.28...@thi.ng/equiv@1.0.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/equiv + + + + + ## [1.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.27...@thi.ng/equiv@1.0.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/equiv diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 0b13fe10b5..f3b44404aa 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/equiv", - "version": "1.0.28", + "version": "1.0.29", "description": "Extensible deep value equivalence checking for any data types", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index abc2e5641d..beae87d91d 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.18...@thi.ng/errors@1.2.19) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/errors + + + + + ## [1.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.17...@thi.ng/errors@1.2.18) (2020-08-16) **Note:** Version bump only for package @thi.ng/errors diff --git a/packages/errors/package.json b/packages/errors/package.json index 71cf24ee1d..7bb1fd538f 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/errors", - "version": "1.2.18", + "version": "1.2.19", "description": "Custom error types and error factory functions", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index f002234126..7b6ca872ea 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.21...@thi.ng/fsm@2.4.22) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/fsm + + + + + ## [2.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.20...@thi.ng/fsm@2.4.21) (2020-08-16) **Note:** Version bump only for package @thi.ng/fsm diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 05ef0a82c5..3dcfbc61b4 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.21", + "version": "2.4.22", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index 44b91421d1..7830497f50 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/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.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.19...@thi.ng/geom-accel@2.1.20) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-accel + + + + + ## [2.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.18...@thi.ng/geom-accel@2.1.19) (2020-08-16) **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 ded08b3b66..9db54d7fbf 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.19", + "version": "2.1.20", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -50,16 +50,16 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/heaps": "^1.2.21", - "@thi.ng/math": "^2.0.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/heaps": "^1.2.22", + "@thi.ng/math": "^2.0.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index e33de96d21..de4f9cc1bb 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.30...@thi.ng/geom-api@1.0.31) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-api + + + + + ## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.29...@thi.ng/geom-api@1.0.30) (2020-08-16) **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 ae3a79b380..964364e622 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "1.0.30", + "version": "1.0.31", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 5132e6c1f4..4638e316ca 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.8...@thi.ng/geom-arc@0.3.9) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-arc + + + + + ## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.7...@thi.ng/geom-arc@0.3.8) (2020-08-16) **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 e6941e1aef..9218536207 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.8", + "version": "0.3.9", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-resample": "^0.2.41", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-resample": "^0.2.42", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index 840333988f..3c7ccf7e5f 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.4...@thi.ng/geom-clip-line@1.2.5) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-clip-line + + + + + ## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.3...@thi.ng/geom-clip-line@1.2.4) (2020-08-16) **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 86441b487c..3a70364087 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.4", + "version": "1.2.5", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index ae47913b31..adcf08a2c6 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.29...@thi.ng/geom-clip-poly@1.0.30) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-clip-poly + + + + + ## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.28...@thi.ng/geom-clip-poly@1.0.29) (2020-08-16) **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 389137d80f..8345291c2d 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.29", + "version": "1.0.30", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/geom-poly-utils": "^0.1.60", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/geom-poly-utils": "^0.1.61", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index b2fb4736b5..63c9cf7ddd 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.41...@thi.ng/geom-closest-point@0.3.42) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-closest-point + + + + + ## [0.3.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.40...@thi.ng/geom-closest-point@0.3.41) (2020-08-16) **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 5bf352f6b5..7f0e05b60c 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.3.41", + "version": "0.3.42", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-fuzz/CHANGELOG.md b/packages/geom-fuzz/CHANGELOG.md index 7f07a097b1..045c1fe720 100644 --- a/packages/geom-fuzz/CHANGELOG.md +++ b/packages/geom-fuzz/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.14...@thi.ng/geom-fuzz@0.1.15) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-fuzz + + + + + ## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.13...@thi.ng/geom-fuzz@0.1.14) (2020-08-16) **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 6f7e5ce24d..56387a3f89 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.14", + "version": "0.1.15", "description": "Highly configurable, fuzzy line & polygon creation with presets and composable fill & stroke styles. Canvas & SVG support", "module": "./index.js", "main": "./lib/index.js", @@ -48,16 +48,16 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/color": "^1.2.12", - "@thi.ng/geom": "^1.11.4", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-clip-line": "^1.2.4", - "@thi.ng/geom-resample": "^0.2.41", - "@thi.ng/grid-iterators": "^0.4.7", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/color": "^1.2.13", + "@thi.ng/geom": "^1.11.5", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-clip-line": "^1.2.5", + "@thi.ng/geom-resample": "^0.2.42", + "@thi.ng/grid-iterators": "^0.4.8", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index f223e7eebb..7e3e0c452e 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.61...@thi.ng/geom-hull@0.0.62) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-hull + + + + + ## [0.0.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.60...@thi.ng/geom-hull@0.0.61) (2020-08-16) **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 a357791ee1..b884e7fc8b 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.61", + "version": "0.0.62", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index c299410ac2..7a84c06025 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.19...@thi.ng/geom-io-obj@0.1.20) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-io-obj + + + + + ## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.18...@thi.ng/geom-io-obj@0.1.19) (2020-08-16) **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 109ebac60d..a2d48ad891 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.19", + "version": "0.1.20", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index b447e1cd70..660bbba1e0 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.5.4...@thi.ng/geom-isec@0.5.5) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-isec + + + + + ## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.5.3...@thi.ng/geom-isec@0.5.4) (2020-08-16) **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 5985ae6c1b..510f4e231c 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.5.4", + "version": "0.5.5", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-closest-point": "^0.3.41", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-closest-point": "^0.3.42", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index 556ef0931c..4f8f1b095a 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.59...@thi.ng/geom-isoline@0.1.60) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-isoline + + + + + ## [0.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.58...@thi.ng/geom-isoline@0.1.59) (2020-08-16) **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 a783cc1744..58227b83d5 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.59", + "version": "0.1.60", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index 787d05dd14..4c59a5ea86 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.60...@thi.ng/geom-poly-utils@0.1.61) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-poly-utils + + + + + ## [0.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.59...@thi.ng/geom-poly-utils@0.1.60) (2020-08-16) **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 3908f0caeb..110fd63de7 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.1.60", + "version": "0.1.61", "description": "2D polygon / triangle analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/errors": "^1.2.18", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/errors": "^1.2.19", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 3a4e11e2aa..30233dd856 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.41...@thi.ng/geom-resample@0.2.42) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-resample + + + + + ## [0.2.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.40...@thi.ng/geom-resample@0.2.41) (2020-08-16) **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 70d869fdec..2bf6f8d90e 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.41", + "version": "0.2.42", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-closest-point": "^0.3.41", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-closest-point": "^0.3.42", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 8de287d7f5..dcd5f444df 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.28...@thi.ng/geom-splines@0.5.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-splines + + + + + ## [0.5.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.27...@thi.ng/geom-splines@0.5.28) (2020-08-16) **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 26979f848b..b97ff59ac2 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.28", + "version": "0.5.29", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -49,13 +49,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-arc": "^0.3.8", - "@thi.ng/geom-resample": "^0.2.41", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-arc": "^0.3.9", + "@thi.ng/geom-resample": "^0.2.42", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index 7f28ead79f..cf6bad1f7b 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.58...@thi.ng/geom-subdiv-curve@0.1.59) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-subdiv-curve + + + + + ## [0.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.57...@thi.ng/geom-subdiv-curve@0.1.58) (2020-08-16) **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 2e841a514c..0e433f05e7 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.58", + "version": "0.1.59", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index cee6c237fc..06faf03643 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.42...@thi.ng/geom-tessellate@0.2.43) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-tessellate + + + + + ## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.41...@thi.ng/geom-tessellate@0.2.42) (2020-08-16) **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 aa29297856..79aca4cc94 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.42", + "version": "0.2.43", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/geom-poly-utils": "^0.1.60", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/geom-poly-utils": "^0.1.61", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 6ee88f8522..dfead3739b 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.4...@thi.ng/geom-voronoi@0.2.5) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom-voronoi + + + + + ## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.3...@thi.ng/geom-voronoi@0.2.4) (2020-08-16) **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 215d8dc395..50a735c393 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.4", + "version": "0.2.5", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -49,15 +49,15 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-clip-line": "^1.2.4", - "@thi.ng/geom-clip-poly": "^1.0.29", - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/geom-poly-utils": "^0.1.60", - "@thi.ng/math": "^2.0.2", - "@thi.ng/quad-edge": "^0.2.20", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-clip-line": "^1.2.5", + "@thi.ng/geom-clip-poly": "^1.0.30", + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/geom-poly-utils": "^0.1.61", + "@thi.ng/math": "^2.0.3", + "@thi.ng/quad-edge": "^0.2.21", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 96cb044d98..4a9f6ac83a 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.11.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.4...@thi.ng/geom@1.11.5) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/geom + + + + + ## [1.11.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.3...@thi.ng/geom@1.11.4) (2020-08-16) **Note:** Version bump only for package @thi.ng/geom diff --git a/packages/geom/package.json b/packages/geom/package.json index c16f53d0db..7372c4d526 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "1.11.4", + "version": "1.11.5", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -49,32 +49,32 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-arc": "^0.3.8", - "@thi.ng/geom-clip-line": "^1.2.4", - "@thi.ng/geom-clip-poly": "^1.0.29", - "@thi.ng/geom-closest-point": "^0.3.41", - "@thi.ng/geom-hull": "^0.0.61", - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/geom-poly-utils": "^0.1.60", - "@thi.ng/geom-resample": "^0.2.41", - "@thi.ng/geom-splines": "^0.5.28", - "@thi.ng/geom-subdiv-curve": "^0.1.58", - "@thi.ng/geom-tessellate": "^0.2.42", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/hiccup-svg": "^3.5.8", - "@thi.ng/math": "^2.0.2", - "@thi.ng/matrices": "^0.6.28", - "@thi.ng/random": "^1.4.16", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-arc": "^0.3.9", + "@thi.ng/geom-clip-line": "^1.2.5", + "@thi.ng/geom-clip-poly": "^1.0.30", + "@thi.ng/geom-closest-point": "^0.3.42", + "@thi.ng/geom-hull": "^0.0.62", + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/geom-poly-utils": "^0.1.61", + "@thi.ng/geom-resample": "^0.2.42", + "@thi.ng/geom-splines": "^0.5.29", + "@thi.ng/geom-subdiv-curve": "^0.1.59", + "@thi.ng/geom-tessellate": "^0.2.43", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/hiccup-svg": "^3.5.9", + "@thi.ng/math": "^2.0.3", + "@thi.ng/matrices": "^0.6.29", + "@thi.ng/random": "^1.4.17", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index cd757cace0..d54969d607 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.28...@thi.ng/gp@0.1.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/gp + + + + + ## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.27...@thi.ng/gp@0.1.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/gp diff --git a/packages/gp/package.json b/packages/gp/package.json index 64240fc79c..43c8451324 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.1.28", + "version": "0.1.29", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/math": "^2.0.2", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/zipper": "^0.1.22" + "@thi.ng/api": "^6.12.2", + "@thi.ng/math": "^2.0.3", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/zipper": "^0.1.23" }, "files": [ "*.js", diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index 2fcc7f4e8a..00fb27e657 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.7...@thi.ng/grid-iterators@0.4.8) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/grid-iterators + + + + + ## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.6...@thi.ng/grid-iterators@0.4.7) (2020-08-16) **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 c7c228c50a..7a85e1450c 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.7", + "version": "0.4.8", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -50,11 +50,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/morton": "^2.0.21", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/morton": "^2.0.22", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/hdiff/CHANGELOG.md b/packages/hdiff/CHANGELOG.md index b7568bca4b..e0111da579 100644 --- a/packages/hdiff/CHANGELOG.md +++ b/packages/hdiff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.11...@thi.ng/hdiff@0.1.12) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hdiff + + + + + ## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.10...@thi.ng/hdiff@0.1.11) (2020-08-16) **Note:** Version bump only for package @thi.ng/hdiff diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json index 429a0e22a0..a9901853a4 100644 --- a/packages/hdiff/package.json +++ b/packages/hdiff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdiff", - "version": "0.1.11", + "version": "0.1.12", "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", @@ -51,11 +51,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/diff": "^3.2.28", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/hiccup-css": "^1.1.35", - "@thi.ng/strings": "^1.9.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/diff": "^3.2.29", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/hiccup-css": "^1.1.36", + "@thi.ng/strings": "^1.9.3" }, "files": [ "*.js", diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index 32b598f23b..ed02a44c55 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.14...@thi.ng/hdom-canvas@3.0.15) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.13...@thi.ng/hdom-canvas@3.0.14) (2020-08-16) **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 e7ce026d23..207597646c 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.14", + "version": "3.0.15", "description": "@thi.ng/hdom component wrapper for declarative canvas scenegraphs", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/diff": "^3.2.28", - "@thi.ng/hdom": "^8.2.6", - "@thi.ng/hiccup-canvas": "^1.1.4" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/diff": "^3.2.29", + "@thi.ng/hdom": "^8.2.7", + "@thi.ng/hiccup-canvas": "^1.1.5" }, "files": [ "*.js", diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 2ecd0d0733..9248c71009 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.9...@thi.ng/hdom-components@4.0.10) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + ## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.8...@thi.ng/hdom-components@4.0.9) (2020-08-16) **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 1f0d53bc81..7974926599 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.9", + "version": "4.0.10", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.5", - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/math": "^2.0.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/transducers-stats": "^1.1.35" + "@thi.ng/adapt-dpi": "^1.0.6", + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/math": "^2.0.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/transducers-stats": "^1.1.36" }, "files": [ "*.js", diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index 709a120c37..67c45d7d0e 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.38...@thi.ng/hdom-mock@1.1.39) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hdom-mock + + + + + ## [1.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.37...@thi.ng/hdom-mock@1.1.38) (2020-08-16) **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 59b84cbaf0..6511ff3cf4 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.38", + "version": "1.1.39", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/hdom": "^8.2.6" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/hdom": "^8.2.7" }, "files": [ "*.js", diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 25431685df..ff685b5034 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.6...@thi.ng/hdom@8.2.7) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [8.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.5...@thi.ng/hdom@8.2.6) (2020-08-16) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index e175434669..4a7980b0e4 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.2.6", + "version": "8.2.7", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/atom": "^4.1.17", + "@thi.ng/atom": "^4.1.18", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,13 +50,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/diff": "^3.2.28", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/prefixes": "^0.1.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/diff": "^3.2.29", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/prefixes": "^0.1.3" }, "files": [ "*.js", diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index b6cddf01fb..068634db62 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.21...@thi.ng/heaps@1.2.22) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/heaps + + + + + ## [1.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.20...@thi.ng/heaps@1.2.21) (2020-08-16) **Note:** Version bump only for package @thi.ng/heaps diff --git a/packages/heaps/package.json b/packages/heaps/package.json index a4b42388bc..b33ce033d9 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "1.2.21", + "version": "1.2.22", "description": "Various heap implementations for arbitrary values and with customizable ordering", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/compare": "^1.3.13" + "@thi.ng/api": "^6.12.2", + "@thi.ng/compare": "^1.3.14" }, "files": [ "*.js", diff --git a/packages/hiccup-canvas/CHANGELOG.md b/packages/hiccup-canvas/CHANGELOG.md index 5f6be38b66..963e3c7fb1 100644 --- a/packages/hiccup-canvas/CHANGELOG.md +++ b/packages/hiccup-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.4...@thi.ng/hiccup-canvas@1.1.5) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-canvas + + + + + ## [1.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.3...@thi.ng/hiccup-canvas@1.1.4) (2020-08-16) **Note:** Version bump only for package @thi.ng/hiccup-canvas diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json index c0ad5bb5e1..dfa271db9b 100644 --- a/packages/hiccup-canvas/package.json +++ b/packages/hiccup-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-canvas", - "version": "1.1.4", + "version": "1.1.5", "description": "Hiccup shape tree renderer for vanilla Canvas 2D contexts", "module": "./index.js", "main": "./lib/index.js", @@ -48,11 +48,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/color": "^1.2.12", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/color": "^1.2.13", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 284b103b39..9dcf84bf36 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.50...@thi.ng/hiccup-carbon-icons@1.0.51) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons + + + + + ## [1.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.49...@thi.ng/hiccup-carbon-icons@1.0.50) (2020-08-16) **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 bb037da618..858379b5f6 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": "1.0.50", + "version": "1.0.51", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/hiccup": "^3.5.6", + "@thi.ng/hiccup": "^3.5.7", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index fe6ee0a0ba..b8730b1333 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.35...@thi.ng/hiccup-css@1.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + ## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.34...@thi.ng/hiccup-css@1.1.35) (2020-08-16) **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 3501b2fa25..935de700cc 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.35", + "version": "1.1.36", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/hiccup-html/CHANGELOG.md b/packages/hiccup-html/CHANGELOG.md index 3407b8b13f..a8c1ea4ad6 100644 --- a/packages/hiccup-html/CHANGELOG.md +++ b/packages/hiccup-html/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.2...@thi.ng/hiccup-html@0.3.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-html + + + + + ## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.1...@thi.ng/hiccup-html@0.3.2) (2020-08-16) **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 a0d1a61942..e94e790b6d 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.2", + "version": "0.3.3", "description": "100+ type-checked HTML5 element functions for @thi.ng/hiccup related infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1" + "@thi.ng/api": "^6.12.2" }, "files": [ "*.js", diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 67c82bd18b..b238591927 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.29...@thi.ng/hiccup-markdown@1.2.30) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-markdown + + + + + ## [1.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.28...@thi.ng/hiccup-markdown@1.2.29) (2020-08-16) **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 fbc393c811..66831843ef 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.29", + "version": "1.2.30", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -49,16 +49,16 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/fsm": "^2.4.21", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/text-canvas": "^0.2.26", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/fsm": "^2.4.22", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/text-canvas": "^0.2.27", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 147fad74ba..be6d42f738 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.5.8...@thi.ng/hiccup-svg@3.5.9) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + ## [3.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.5.7...@thi.ng/hiccup-svg@3.5.8) (2020-08-16) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 58f830ef05..9a3a3b1d2a 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.5.8", + "version": "3.5.9", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/color": "^1.2.12", - "@thi.ng/prefixes": "^0.1.2" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/color": "^1.2.13", + "@thi.ng/prefixes": "^0.1.3" }, "files": [ "*.js", diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 190ff81fc0..6b1b6d536a 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.5.6...@thi.ng/hiccup@3.5.7) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/hiccup + + + + + ## [3.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.5.5...@thi.ng/hiccup@3.5.6) (2020-08-16) **Note:** Version bump only for package @thi.ng/hiccup diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 3a20a5852e..8a078ee133 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.5.6", + "version": "3.5.7", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/atom": "^4.1.17", + "@thi.ng/atom": "^4.1.18", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,10 +50,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/prefixes": "^0.1.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/prefixes": "^0.1.3" }, "files": [ "*.js", diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index 0cd357d29c..14c8603a5d 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.19...@thi.ng/idgen@0.2.20) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/idgen + + + + + ## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.18...@thi.ng/idgen@0.2.19) (2020-08-16) **Note:** Version bump only for package @thi.ng/idgen diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 3db232efe3..ad156efbf2 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/idgen", - "version": "0.2.19", + "version": "0.2.20", "description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", + "@thi.ng/api": "^6.12.2", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index b81d6f35a1..a43e7e8e72 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.43...@thi.ng/iges@1.1.44) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/iges + + + + + ## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.42...@thi.ng/iges@1.1.43) (2020-08-16) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/package.json b/packages/iges/package.json index fbb748edc9..994ba586e0 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.43", + "version": "1.1.44", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 764e8c54af..ff11a946e9 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.34...@thi.ng/imgui@0.2.35) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + ## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.33...@thi.ng/imgui@0.2.34) (2020-08-16) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 06a5b5ddb3..eca990b2a6 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.34", + "version": "0.2.35", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -49,16 +49,16 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom": "^1.11.4", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/geom-isec": "^0.5.4", - "@thi.ng/geom-tessellate": "^0.2.42", - "@thi.ng/layout": "^0.1.19", - "@thi.ng/math": "^2.0.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom": "^1.11.5", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/geom-isec": "^0.5.5", + "@thi.ng/geom-tessellate": "^0.2.43", + "@thi.ng/layout": "^0.1.20", + "@thi.ng/math": "^2.0.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index 66314d07ab..bd1c8f2f35 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.28...@thi.ng/interceptors@2.2.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/interceptors + + + + + ## [2.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.27...@thi.ng/interceptors@2.2.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/interceptors diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index c39016e664..34b0c8c76d 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.28", + "version": "2.2.29", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/atom": "^4.1.17", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/paths": "^4.1.3" + "@thi.ng/api": "^6.12.2", + "@thi.ng/atom": "^4.1.18", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/paths": "^4.1.4" }, "files": [ "*.js", diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 9301c4ca95..61b90ba462 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/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.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.21...@thi.ng/intervals@2.0.22) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/intervals + + + + + ## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.20...@thi.ng/intervals@2.0.21) (2020-08-16) **Note:** Version bump only for package @thi.ng/intervals diff --git a/packages/intervals/package.json b/packages/intervals/package.json index be81b0c4b8..207842f171 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/intervals", - "version": "2.0.21", + "version": "2.0.22", "description": "Closed/open/semi-open interval data type, queries & operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/dlogic": "^1.0.28", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/dlogic": "^1.0.29", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index c19d52703b..1b14a35c7c 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.35...@thi.ng/iterators@5.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + ## [5.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.34...@thi.ng/iterators@5.1.35) (2020-08-16) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 83a20ee1c2..b217f8964d 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.35", + "version": "5.1.36", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index c720eef3af..cacce87c85 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.19...@thi.ng/layout@0.1.20) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/layout + + + + + ## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.18...@thi.ng/layout@0.1.19) (2020-08-16) **Note:** Version bump only for package @thi.ng/layout diff --git a/packages/layout/package.json b/packages/layout/package.json index f87ee42576..2caf6be099 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/layout", - "version": "0.1.19", + "version": "0.1.20", "description": "TODO", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5" + "@thi.ng/checks": "^2.7.6" }, "files": [ "*.js", diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 691365f710..93b3928c79 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.29...@thi.ng/leb128@1.0.30) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/leb128 + + + + + ## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.28...@thi.ng/leb128@1.0.29) (2020-08-16) **Note:** Version bump only for package @thi.ng/leb128 diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 15a112bd82..bfe93abe52 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.29", + "version": "1.0.30", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers-binary": "^0.5.25" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers-binary": "^0.5.26" }, "files": [ "*.js", diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index 815df00217..e5c9dddb03 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.56...@thi.ng/lsys@0.2.57) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/lsys + + + + + ## [0.2.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.55...@thi.ng/lsys@0.2.56) (2020-08-16) **Note:** Version bump only for package @thi.ng/lsys diff --git a/packages/lsys/package.json b/packages/lsys/package.json index cc3cea16c1..d2cd499050 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.56", + "version": "0.2.57", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -49,13 +49,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/compose": "^1.4.14", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/compose": "^1.4.15", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index 994af27c15..b93dab388b 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.22...@thi.ng/malloc@4.1.23) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/malloc + + + + + ## [4.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.21...@thi.ng/malloc@4.1.22) (2020-08-16) **Note:** Version bump only for package @thi.ng/malloc diff --git a/packages/malloc/package.json b/packages/malloc/package.json index 4433c78eeb..2f38c5c38b 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "4.1.22", + "version": "4.1.23", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index accb1be69a..aaa0caabb2 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/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.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@2.0.2...@thi.ng/math@2.0.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/math + + + + + ## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@2.0.1...@thi.ng/math@2.0.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/math diff --git a/packages/math/package.json b/packages/math/package.json index 71cdeb9238..174c63472b 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/math", - "version": "2.0.2", + "version": "2.0.3", "description": "Assorted common math functions & utilities", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index 1b35411ad9..1913c25a04 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.28...@thi.ng/matrices@0.6.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/matrices + + + + + ## [0.6.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.27...@thi.ng/matrices@0.6.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/matrices diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 038113a437..b499f2c031 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.28", + "version": "0.6.29", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/math": "^2.0.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/math": "^2.0.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index d5620d0b7e..a10ccbd60b 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.18...@thi.ng/memoize@2.0.19) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/memoize + + + + + ## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.17...@thi.ng/memoize@2.0.18) (2020-08-16) **Note:** Version bump only for package @thi.ng/memoize diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 9dc77e939a..7ab13e2acf 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "2.0.18", + "version": "2.0.19", "description": "Function memoization with configurable caching", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1" + "@thi.ng/api": "^6.12.2" }, "files": [ "*.js", diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index be5ccd9d54..337c258031 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.18...@thi.ng/mime@0.1.19) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/mime + + + + + ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.17...@thi.ng/mime@0.1.18) (2020-08-16) **Note:** Version bump only for package @thi.ng/mime diff --git a/packages/mime/package.json b/packages/mime/package.json index cfb260caef..43197ae58b 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/mime", - "version": "0.1.18", + "version": "0.1.19", "description": "350+ file extension to MIME type mappings, based on mime-db", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1" + "@thi.ng/api": "^6.12.2" }, "files": [ "*.js", diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 4b135d0046..b20e1f6be0 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/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.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.21...@thi.ng/morton@2.0.22) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/morton + + + + + ## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.20...@thi.ng/morton@2.0.21) (2020-08-16) **Note:** Version bump only for package @thi.ng/morton diff --git a/packages/morton/package.json b/packages/morton/package.json index a5523dbf84..7ec632546e 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "2.0.21", + "version": "2.0.22", "description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/math": "^2.0.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/math": "^2.0.3" }, "files": [ "*.js", diff --git a/packages/oquery/CHANGELOG.md b/packages/oquery/CHANGELOG.md index afabf83c1b..c58b31faa9 100644 --- a/packages/oquery/CHANGELOG.md +++ b/packages/oquery/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.1.8...@thi.ng/oquery@0.1.9) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/oquery + + + + + ## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.1.7...@thi.ng/oquery@0.1.8) (2020-08-16) **Note:** Version bump only for package @thi.ng/oquery diff --git a/packages/oquery/package.json b/packages/oquery/package.json index 3c429d1aa4..9321929af2 100644 --- a/packages/oquery/package.json +++ b/packages/oquery/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/oquery", - "version": "0.1.8", + "version": "0.1.9", "description": "Datalog-inspired, optimized pattern/predicate query engine for JS objects", "module": "./index.js", "main": "./lib/index.js", @@ -48,11 +48,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/equiv": "^1.0.28" + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/equiv": "^1.0.29" }, "files": [ "*.js", diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 65ccbd7c20..359ce74133 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.8.2...@thi.ng/parse@0.9.0) (2020-08-17) + + +### Features + +* **parse:** add replace/xfReplace() xform ([7291181](https://github.com/thi-ng/umbrella/commit/7291181f6eb74751aa02dffbb95bb6787a5ef02f)) +* **parse:** enable replacement rule transforms ([ca22432](https://github.com/thi-ng/umbrella/commit/ca224328e55cb525cefd39dd53028a86a580fd7e)) + + + + + ## [0.8.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.8.1...@thi.ng/parse@0.8.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/parse diff --git a/packages/parse/package.json b/packages/parse/package.json index 55521409b5..b41acd6e33 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.8.2", + "version": "0.9.0", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/strings": "^1.9.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/strings": "^1.9.3" }, "files": [ "*.js", diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index 8cdb065395..376c89e8d4 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.3...@thi.ng/paths@4.1.4) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/paths + + + + + ## [4.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.2...@thi.ng/paths@4.1.3) (2020-08-16) **Note:** Version bump only for package @thi.ng/paths diff --git a/packages/paths/package.json b/packages/paths/package.json index ea1b202815..c4a13541dd 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "4.1.3", + "version": "4.1.4", "description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index ef7833fa29..8f59224564 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.4.2...@thi.ng/pixel@0.4.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/pixel + + + + + ## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.4.1...@thi.ng/pixel@0.4.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/pixel diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 055abc8054..4ad19d4d0f 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.4.2", + "version": "0.4.3", "description": "Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/math": "^2.0.2", - "@thi.ng/porter-duff": "^0.1.27" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/math": "^2.0.3", + "@thi.ng/porter-duff": "^0.1.28" }, "files": [ "*.js", diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 0d38aca2ca..1f0eb51519 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.10...@thi.ng/pointfree-lang@1.4.11) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/pointfree-lang + + + + + ## [1.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.9...@thi.ng/pointfree-lang@1.4.10) (2020-08-16) **Note:** Version bump only for package @thi.ng/pointfree-lang diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index f3aae77356..3af628ec5a 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.10", + "version": "1.4.11", "description": "Forth style syntax layer/compiler & CLI for the @thi.ng/pointfree DSL", "module": "./index.js", "main": "./lib/index.js", @@ -53,10 +53,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/bench": "^2.0.17", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/pointfree": "^2.0.11", + "@thi.ng/api": "^6.12.2", + "@thi.ng/bench": "^2.0.18", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/pointfree": "^2.0.12", "commander": "^6.0.0" }, "files": [ diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index 53f795cd1d..6e4a3da07e 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.11...@thi.ng/pointfree@2.0.12) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/pointfree + + + + + ## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.10...@thi.ng/pointfree@2.0.11) (2020-08-16) **Note:** Version bump only for package @thi.ng/pointfree diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index ff2f73a586..fbe6516331 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "2.0.11", + "version": "2.0.12", "description": "Pointfree functional composition / Forth style stack execution engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compose": "^1.4.14", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compose": "^1.4.15", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 6a5595b0a7..61ddb7821d 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.12...@thi.ng/poisson@1.1.13) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/poisson + + + + + ## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.11...@thi.ng/poisson@1.1.12) (2020-08-16) **Note:** Version bump only for package @thi.ng/poisson diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 170c19fc21..5414bb5772 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.1.12", + "version": "1.1.13", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-api": "^1.0.30", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-api": "^1.0.31", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index 4c9eae5a82..3a62c89d68 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.27...@thi.ng/porter-duff@0.1.28) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/porter-duff + + + + + ## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.26...@thi.ng/porter-duff@0.1.27) (2020-08-16) **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 1de5764de7..f503cd1107 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.27", + "version": "0.1.28", "description": "Porter-Duff operators for packed ints & float-array alpha compositing", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/math": "^2.0.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/math": "^2.0.3" }, "files": [ "*.js", diff --git a/packages/prefixes/CHANGELOG.md b/packages/prefixes/CHANGELOG.md index 76d0544a62..5cb55fa406 100644 --- a/packages/prefixes/CHANGELOG.md +++ b/packages/prefixes/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.2...@thi.ng/prefixes@0.1.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/prefixes + + + + + ## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.1...@thi.ng/prefixes@0.1.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/prefixes diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index 1814082a3f..2761a32163 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/prefixes", - "version": "0.1.2", + "version": "0.1.3", "description": "50+ Linked Data vocabulary prefixes and their namespace URLs", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index 9e503737ea..6a170be1fb 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.20...@thi.ng/quad-edge@0.2.21) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/quad-edge + + + + + ## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.19...@thi.ng/quad-edge@0.2.20) (2020-08-16) **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 aa93ace1d0..d5205c7e9b 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.20", + "version": "0.2.21", "description": "Quadedge data structure after Guibas & Stolfi", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 60fa4e0424..90843ab4d1 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.30...@thi.ng/ramp@0.1.31) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/ramp + + + + + ## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.29...@thi.ng/ramp@0.1.30) (2020-08-16) **Note:** Version bump only for package @thi.ng/ramp diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 5e27abd4b3..33e08da5c0 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.30", + "version": "0.1.31", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/compare": "^1.3.13", - "@thi.ng/math": "^2.0.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/compare": "^1.3.14", + "@thi.ng/math": "^2.0.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 053744302c..3234463e5f 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.16...@thi.ng/random@1.4.17) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/random + + + + + ## [1.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.15...@thi.ng/random@1.4.16) (2020-08-16) **Note:** Version bump only for package @thi.ng/random diff --git a/packages/random/package.json b/packages/random/package.json index 248fdc4a26..2933ad7224 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/random", - "version": "1.4.16", + "version": "1.4.17", "description": "Pseudo-random number generators w/ unified API", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6" }, "files": [ "*.js", diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index cce390509d..7221a14ec7 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.55...@thi.ng/range-coder@1.0.56) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + ## [1.0.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.54...@thi.ng/range-coder@1.0.55) (2020-08-16) **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 b3ef4e6253..73ddd2bca0 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.55", + "version": "1.0.56", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/transducers": "^7.2.1", + "@thi.ng/transducers": "^7.2.2", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,7 +50,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.23" + "@thi.ng/bitstream": "^1.1.24" }, "files": [ "*.js", diff --git a/packages/rdom-canvas/CHANGELOG.md b/packages/rdom-canvas/CHANGELOG.md index cb04dd5729..3e1f126de9 100644 --- a/packages/rdom-canvas/CHANGELOG.md +++ b/packages/rdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.11...@thi.ng/rdom-canvas@0.1.12) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rdom-canvas + + + + + ## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.10...@thi.ng/rdom-canvas@0.1.11) (2020-08-16) **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 c9eccc83a6..3dc6a82b7b 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.11", + "version": "0.1.12", "description": "@thi.ng/rdom component wrapper for @thi.ng/hiccup-canvas and declarative canvas drawing", "module": "./index.js", "main": "./lib/index.js", @@ -42,13 +42,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.5", - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/hiccup-canvas": "^1.1.4", - "@thi.ng/rdom": "^0.2.7", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/transducers": "^7.2.1", + "@thi.ng/adapt-dpi": "^1.0.6", + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/hiccup-canvas": "^1.1.5", + "@thi.ng/rdom": "^0.2.8", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/transducers": "^7.2.2", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/rdom-components/CHANGELOG.md b/packages/rdom-components/CHANGELOG.md index 25f9084c4b..e4f8f3c077 100644 --- a/packages/rdom-components/CHANGELOG.md +++ b/packages/rdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.8...@thi.ng/rdom-components@0.1.9) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rdom-components + + + + + ## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.7...@thi.ng/rdom-components@0.1.8) (2020-08-16) **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 42c3c5a51c..6ba63d416d 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.8", + "version": "0.1.9", "description": "Collection of unstyled, customizable components for @thi.ng/rdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,13 +42,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/hiccup-html": "^0.3.2", - "@thi.ng/rdom": "^0.2.7", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/hiccup-html": "^0.3.3", + "@thi.ng/rdom": "^0.2.8", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/rdom/CHANGELOG.md b/packages/rdom/CHANGELOG.md index f90552036a..a6d3d63dda 100644 --- a/packages/rdom/CHANGELOG.md +++ b/packages/rdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.2.7...@thi.ng/rdom@0.2.8) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rdom + + + + + ## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.2.6...@thi.ng/rdom@0.2.7) (2020-08-16) **Note:** Version bump only for package @thi.ng/rdom diff --git a/packages/rdom/package.json b/packages/rdom/package.json index edb799f2eb..b8292162ea 100644 --- a/packages/rdom/package.json +++ b/packages/rdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom", - "version": "0.2.7", + "version": "0.2.8", "description": "Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible", "module": "./index.js", "main": "./lib/index.js", @@ -49,14 +49,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/paths": "^4.1.3", - "@thi.ng/prefixes": "^0.1.2", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/strings": "^1.9.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/paths": "^4.1.4", + "@thi.ng/prefixes": "^0.1.3", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/strings": "^1.9.3" }, "files": [ "*.js", diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 7a8d8b8bd4..bac9725f7f 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.2...@thi.ng/resolve-map@4.2.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/resolve-map + + + + + ## [4.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.1...@thi.ng/resolve-map@4.2.2) (2020-08-16) **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 60ebfb2b6a..24cf3073f4 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.2", + "version": "4.2.3", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -48,10 +48,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/paths": "^4.1.3" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/paths": "^4.1.4" }, "files": [ "*.js", diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index 27b572bc41..fb48d44823 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.23...@thi.ng/rle-pack@2.1.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rle-pack + + + + + ## [2.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.22...@thi.ng/rle-pack@2.1.23) (2020-08-16) **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 6bd449496f..c4e356d436 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.23", + "version": "2.1.24", "description": "Binary run-length encoding packer w/ flexible repeat bit widths", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.23", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/bitstream": "^1.1.24", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index c7d5e2f99a..a210117f3f 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.28...@thi.ng/router@2.0.29) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/router + + + + + ## [2.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.27...@thi.ng/router@2.0.28) (2020-08-16) **Note:** Version bump only for package @thi.ng/router diff --git a/packages/router/package.json b/packages/router/package.json index 8d81820fe1..df4b23b189 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "2.0.28", + "version": "2.0.29", "description": "Generic router for browser & non-browser based applications", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", "tslib": "^2.0.1" }, "files": [ diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 4ec7e5ffc2..2e23b23612 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.36...@thi.ng/rstream-csp@2.0.37) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.35...@thi.ng/rstream-csp@2.0.36) (2020-08-16) **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 b2133af5f0..92c78d01b3 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.36", + "version": "2.0.37", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/csp": "^1.1.35", - "@thi.ng/rstream": "^5.0.1" + "@thi.ng/csp": "^1.1.36", + "@thi.ng/rstream": "^5.0.2" }, "files": [ "*.js", diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 622148c1e7..ffec7e7486 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.43...@thi.ng/rstream-dot@1.1.44) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.42...@thi.ng/rstream-dot@1.1.43) (2020-08-16) **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 27293e56eb..33a58a182f 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.43", + "version": "1.1.44", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/rstream": "^5.0.1" + "@thi.ng/rstream": "^5.0.2" }, "files": [ "*.js", diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 2cb796e25a..c41a15d285 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.35...@thi.ng/rstream-gestures@2.0.36) (2020-08-17) + + +### Bug Fixes + +* **rstream-gestures:** don't cache DPR value ([bffbedb](https://github.com/thi-ng/umbrella/commit/bffbedb0589bd173de0aa49293b110461b33d579)) + + + + + ## [2.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.34...@thi.ng/rstream-gestures@2.0.35) (2020-08-16) **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 4e59fdef79..ef572b8030 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.35", + "version": "2.0.36", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/math": "^2.0.2", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/math": "^2.0.3", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index df025cb0ef..8c1b90f3da 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.37...@thi.ng/rstream-graph@3.2.38) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.36...@thi.ng/rstream-graph@3.2.37) (2020-08-16) **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 6b391d4fdb..db7f4bb3d6 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.37", + "version": "3.2.38", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,14 +49,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/atom": "^4.1.17", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/paths": "^4.1.3", - "@thi.ng/resolve-map": "^4.2.2", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/atom": "^4.1.18", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/paths": "^4.1.4", + "@thi.ng/resolve-map": "^4.2.3", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 250d8eb3ea..b2e0c509b6 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.58...@thi.ng/rstream-log-file@0.1.59) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.57...@thi.ng/rstream-log-file@0.1.58) (2020-08-16) **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 21c784b127..20875be133 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.58", + "version": "0.1.59", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/rstream": "^5.0.1" + "@thi.ng/rstream": "^5.0.2" }, "files": [ "*.js", diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index c5dd4d0a3b..1d02c9d90f 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.43...@thi.ng/rstream-log@3.1.44) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.42...@thi.ng/rstream-log@3.1.43) (2020-08-16) **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 f011145090..5e962c0387 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.43", + "version": "3.1.44", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 10e31f77b1..ae31397b5d 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.43...@thi.ng/rstream-query@1.1.44) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.42...@thi.ng/rstream-query@1.1.43) (2020-08-16) **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 c23ab34391..ac955486e8 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.43", + "version": "1.1.44", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,15 +49,15 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/rstream": "^5.0.1", - "@thi.ng/rstream-dot": "^1.1.43", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/rstream": "^5.0.2", + "@thi.ng/rstream-dot": "^1.1.44", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 9b133fc761..9752f6c16b 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.1...@thi.ng/rstream@5.0.2) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [5.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.0...@thi.ng/rstream@5.0.1) (2020-08-16) **Note:** Version bump only for package @thi.ng/rstream diff --git a/packages/rstream/package.json b/packages/rstream/package.json index c4f2b65555..cfb5fa4128 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "5.0.1", + "version": "5.0.2", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -49,13 +49,13 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/atom": "^4.1.17", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/atom": "^4.1.18", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index 56e9c02951..6ef6029509 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.35...@thi.ng/sax@1.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/sax + + + + + ## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.34...@thi.ng/sax@1.1.35) (2020-08-16) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index 06dc1e17d9..3bc1c0ee99 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.35", + "version": "1.1.36", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/transducers-fsm": "^1.1.35" + "@thi.ng/api": "^6.12.2", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/transducers-fsm": "^1.1.36" }, "files": [ "*.js", diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index b225b50902..dfdfb5418d 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.2...@thi.ng/scenegraph@0.3.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/scenegraph + + + + + ## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.1...@thi.ng/scenegraph@0.3.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/scenegraph diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 715c518608..8718bb6a27 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.3.2", + "version": "0.3.3", "description": "Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/matrices": "^0.6.28", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/matrices": "^0.6.29", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 825181f387..230c67a847 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.20...@thi.ng/seq@0.2.21) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/seq + + + + + ## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.19...@thi.ng/seq@0.2.20) (2020-08-16) **Note:** Version bump only for package @thi.ng/seq diff --git a/packages/seq/package.json b/packages/seq/package.json index 973d00c6f9..0e2b8c9b65 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/seq", - "version": "0.2.20", + "version": "0.2.21", "description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6" }, "files": [ "*.js", diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index d9c57fce93..14f63ab6f7 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.23...@thi.ng/sexpr@0.2.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/sexpr + + + + + ## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.22...@thi.ng/sexpr@0.2.23) (2020-08-16) **Note:** Version bump only for package @thi.ng/sexpr diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 1e7d6abf18..4cabed11cd 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sexpr", - "version": "0.2.23", + "version": "0.2.24", "description": "Extensible S-Expression parser & runtime infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23" }, "files": [ "*.js", diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 93086a4e45..8b1878579f 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.6...@thi.ng/shader-ast-glsl@0.2.7) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/shader-ast-glsl + + + + + ## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.5...@thi.ng/shader-ast-glsl@0.2.6) (2020-08-16) **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 cc839a905d..496f7dc136 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.6", + "version": "0.2.7", "description": "Customizable GLSL code generator for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/shader-ast": "^0.6.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/shader-ast": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 0f26997eee..6fcc500c6a 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.2...@thi.ng/shader-ast-js@0.5.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + ## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.1...@thi.ng/shader-ast-js@0.5.2) (2020-08-16) **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 35abd447ce..61606e7db1 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.2", + "version": "0.5.3", "description": "Customizable JS code generator, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -49,14 +49,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/matrices": "^0.6.28", - "@thi.ng/pixel": "^0.4.2", - "@thi.ng/shader-ast": "^0.6.2", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/matrices": "^0.6.29", + "@thi.ng/pixel": "^0.4.3", + "@thi.ng/shader-ast": "^0.6.3", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 3e2c86f0de..ca0badac4c 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.4.5...@thi.ng/shader-ast-stdlib@0.4.6) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/shader-ast-stdlib + + + + + ## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.4.4...@thi.ng/shader-ast-stdlib@0.4.5) (2020-08-16) diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index a422a7f914..f3bad20311 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.4.5", + "version": "0.4.6", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/shader-ast": "^0.6.2" + "@thi.ng/api": "^6.12.2", + "@thi.ng/shader-ast": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 6e03c55ada..3fbe9b7409 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.6.2...@thi.ng/shader-ast@0.6.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/shader-ast + + + + + ## [0.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.6.1...@thi.ng/shader-ast@0.6.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/shader-ast diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 3ae4390d11..400f8097ff 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.6.2", + "version": "0.6.3", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/defmulti": "^1.2.22", - "@thi.ng/dgraph": "^1.2.23", - "@thi.ng/errors": "^1.2.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/defmulti": "^1.2.23", + "@thi.ng/dgraph": "^1.2.24", + "@thi.ng/errors": "^1.2.19" }, "files": [ "*.js", diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 68ad6d758e..4eeba74631 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.2...@thi.ng/simd@0.4.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/simd + + + + + ## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.1...@thi.ng/simd@0.4.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/simd diff --git a/packages/simd/package.json b/packages/simd/package.json index 0936cacb37..96515471eb 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.4.2", + "version": "0.4.3", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/transducers-binary": "^0.5.25" + "@thi.ng/transducers-binary": "^0.5.26" }, "files": [ "*.js", diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 4f20f51748..b96a5a4256 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.32...@thi.ng/soa@0.1.33) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/soa + + + + + ## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.31...@thi.ng/soa@0.1.32) (2020-08-16) **Note:** Version bump only for package @thi.ng/soa diff --git a/packages/soa/package.json b/packages/soa/package.json index 8ebbfe3311..58208b6e8d 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.32", + "version": "0.1.33", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.9.2", - "@thi.ng/equiv": "^1.0.28", + "@thi.ng/equiv": "^1.0.29", "@types/mocha": "^8.0.0", "@types/node": "^14.0.26", "mocha": "^8.1.1", @@ -50,10 +50,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/transducers-binary": "^0.5.25", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/transducers-binary": "^0.5.26", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 5ed0b98719..f04d65f47d 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.51...@thi.ng/sparse@0.1.52) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/sparse + + + + + ## [0.1.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.50...@thi.ng/sparse@0.1.51) (2020-08-16) **Note:** Version bump only for package @thi.ng/sparse diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 2037a9c8ca..1ae6dbbb3a 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.51", + "version": "0.1.52", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 8d0c0dd579..95823142e3 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. +## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.9.2...@thi.ng/strings@1.9.3) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/strings + + + + + ## [1.9.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.9.1...@thi.ng/strings@1.9.2) (2020-08-16) **Note:** Version bump only for package @thi.ng/strings diff --git a/packages/strings/package.json b/packages/strings/package.json index c9d3df97ce..f3954b9e97 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "1.9.2", + "version": "1.9.3", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/memoize": "^2.0.18" + "@thi.ng/api": "^6.12.2", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/memoize": "^2.0.19" }, "files": [ "*.js", diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index 56a25db28e..9f3ec4bc51 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.23...@thi.ng/system@0.2.24) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/system + + + + + ## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.22...@thi.ng/system@0.2.23) (2020-08-16) **Note:** Version bump only for package @thi.ng/system diff --git a/packages/system/package.json b/packages/system/package.json index f2e8fc0e7a..f3de4b371c 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/system", - "version": "0.2.23", + "version": "0.2.24", "description": "Minimal DI / life cycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/dgraph": "^1.2.23" + "@thi.ng/api": "^6.12.2", + "@thi.ng/dgraph": "^1.2.24" }, "files": [ "*.js", diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index dc0a4c92fa..57752da124 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.26...@thi.ng/text-canvas@0.2.27) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/text-canvas + + + + + ## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.25...@thi.ng/text-canvas@0.2.26) (2020-08-16) **Note:** Version bump only for package @thi.ng/text-canvas diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 5637d1f3bb..4161642bd4 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.2.26", + "version": "0.2.27", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -50,14 +50,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/geom-clip-line": "^1.2.4", - "@thi.ng/math": "^2.0.2", - "@thi.ng/memoize": "^2.0.18", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/geom-clip-line": "^1.2.5", + "@thi.ng/math": "^2.0.3", + "@thi.ng/memoize": "^2.0.19", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index f2cd788cc4..222e7a4f19 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.25...@thi.ng/transducers-binary@0.5.26) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers-binary + + + + + ## [0.5.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.24...@thi.ng/transducers-binary@0.5.25) (2020-08-16) **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 80a11c7060..ade9855385 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.5.25", + "version": "0.5.26", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/binary": "^2.0.12", - "@thi.ng/compose": "^1.4.14", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/random": "^1.4.16", - "@thi.ng/strings": "^1.9.2", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/binary": "^2.0.13", + "@thi.ng/compose": "^1.4.15", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/random": "^1.4.17", + "@thi.ng/strings": "^1.9.3", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index f1e200e3a5..9d60591c84 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.35...@thi.ng/transducers-fsm@1.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + ## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.34...@thi.ng/transducers-fsm@1.1.35) (2020-08-16) **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 b59a618cbb..59808d0e17 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.35", + "version": "1.1.36", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index a52a37f3c0..86f8ef8b18 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.67...@thi.ng/transducers-hdom@2.0.68) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + ## [2.0.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.66...@thi.ng/transducers-hdom@2.0.67) (2020-08-16) **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 2e16a71219..b44c49d331 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.67", + "version": "2.0.68", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/hdom": "^8.2.6", - "@thi.ng/hiccup": "^3.5.6", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/hdom": "^8.2.7", + "@thi.ng/hiccup": "^3.5.7", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index 788a88e5ad..676650a9e2 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.26...@thi.ng/transducers-patch@0.1.27) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers-patch + + + + + ## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.25...@thi.ng/transducers-patch@0.1.26) (2020-08-16) **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 f554278ac7..9c7bf68ef4 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.1.26", + "version": "0.1.27", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/paths": "^4.1.3", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/paths": "^4.1.4", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 759c5aec49..b633d8664f 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.35...@thi.ng/transducers-stats@1.1.36) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + ## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.34...@thi.ng/transducers-stats@1.1.35) (2020-08-16) **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 c73945380e..5ae6d023f1 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.35", + "version": "1.1.36", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/checks": "^2.7.5", - "@thi.ng/dcons": "^2.2.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/checks": "^2.7.6", + "@thi.ng/dcons": "^2.2.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index ed0822ce02..506a0e8334 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.2.1...@thi.ng/transducers@7.2.2) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/transducers + + + + + ## [7.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.2.0...@thi.ng/transducers@7.2.1) (2020-08-16) **Note:** Version bump only for package @thi.ng/transducers diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 866ecf6702..f0a398652a 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "7.2.1", + "version": "7.2.2", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -49,14 +49,14 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/compare": "^1.3.13", - "@thi.ng/compose": "^1.4.14", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/random": "^1.4.16" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/compare": "^1.3.14", + "@thi.ng/compose": "^1.4.15", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/random": "^1.4.17" }, "files": [ "*.js", diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index d8ccf49dec..88f53c0af5 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.21...@thi.ng/unionstruct@1.1.22) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/unionstruct + + + + + ## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.20...@thi.ng/unionstruct@1.1.21) (2020-08-16) **Note:** Version bump only for package @thi.ng/unionstruct diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 4d333f1c5f..8268b1c8bd 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/unionstruct", - "version": "1.1.21", + "version": "1.1.22", "description": "C-style struct, union and bitfield read/write views of ArrayBuffers", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 3b9ebf8b32..0a424a5c20 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.41...@thi.ng/vector-pools@1.0.42) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/vector-pools + + + + + ## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.40...@thi.ng/vector-pools@1.0.41) (2020-08-16) **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 368ae5f2bd..51fe6120ec 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.41", + "version": "1.0.42", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/malloc": "^4.1.22", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/malloc": "^4.1.23", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index 0f1bee7ac6..36dbab1ced 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.6.1...@thi.ng/vectors@4.6.2) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + ## [4.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.6.0...@thi.ng/vectors@4.6.1) (2020-08-16) **Note:** Version bump only for package @thi.ng/vectors diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 29278ea5b7..bce0c5e9f4 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.6.1", + "version": "4.6.2", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,15 +49,15 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/binary": "^2.0.12", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/math": "^2.0.2", - "@thi.ng/memoize": "^2.0.18", - "@thi.ng/random": "^1.4.16", - "@thi.ng/transducers": "^7.2.1" + "@thi.ng/api": "^6.12.2", + "@thi.ng/binary": "^2.0.13", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/math": "^2.0.3", + "@thi.ng/memoize": "^2.0.19", + "@thi.ng/random": "^1.4.17", + "@thi.ng/transducers": "^7.2.2" }, "files": [ "*.js", diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index 32bc02e190..72ca413dc7 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.55...@thi.ng/webgl-msdf@0.1.56) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.54...@thi.ng/webgl-msdf@0.1.55) (2020-08-16) **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 7718dd32a5..8a37625ad3 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.55", + "version": "0.1.56", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/shader-ast": "^0.6.2", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vector-pools": "^1.0.41", - "@thi.ng/vectors": "^4.6.1", - "@thi.ng/webgl": "^3.2.0" + "@thi.ng/api": "^6.12.2", + "@thi.ng/shader-ast": "^0.6.3", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vector-pools": "^1.0.42", + "@thi.ng/vectors": "^4.6.2", + "@thi.ng/webgl": "^3.2.1" }, "files": [ "*.js", diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index c928687658..0cf13ac019 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.42...@thi.ng/webgl-shadertoy@0.2.43) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + ## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.41...@thi.ng/webgl-shadertoy@0.2.42) (2020-08-16) **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 bcdef5054f..f8fcdb4731 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.42", + "version": "0.2.43", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/shader-ast": "^0.6.2", - "@thi.ng/shader-ast-glsl": "^0.2.6", - "@thi.ng/webgl": "^3.2.0" + "@thi.ng/api": "^6.12.2", + "@thi.ng/shader-ast": "^0.6.3", + "@thi.ng/shader-ast-glsl": "^0.2.7", + "@thi.ng/webgl": "^3.2.1" }, "files": [ "*.js", diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index cdce7a4de6..d361b867c1 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.2.0...@thi.ng/webgl@3.2.1) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/webgl + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.1.1...@thi.ng/webgl@3.2.0) (2020-08-16) diff --git a/packages/webgl/package.json b/packages/webgl/package.json index ca00134521..3e2c8e6315 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "3.2.0", + "version": "3.2.1", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -49,20 +49,20 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.5", - "@thi.ng/api": "^6.12.1", - "@thi.ng/associative": "^5.0.3", - "@thi.ng/checks": "^2.7.5", - "@thi.ng/equiv": "^1.0.28", - "@thi.ng/errors": "^1.2.18", - "@thi.ng/matrices": "^0.6.28", - "@thi.ng/pixel": "^0.4.2", - "@thi.ng/shader-ast": "^0.6.2", - "@thi.ng/shader-ast-glsl": "^0.2.6", - "@thi.ng/shader-ast-stdlib": "^0.4.5", - "@thi.ng/transducers": "^7.2.1", - "@thi.ng/vector-pools": "^1.0.41", - "@thi.ng/vectors": "^4.6.1" + "@thi.ng/adapt-dpi": "^1.0.6", + "@thi.ng/api": "^6.12.2", + "@thi.ng/associative": "^5.0.4", + "@thi.ng/checks": "^2.7.6", + "@thi.ng/equiv": "^1.0.29", + "@thi.ng/errors": "^1.2.19", + "@thi.ng/matrices": "^0.6.29", + "@thi.ng/pixel": "^0.4.3", + "@thi.ng/shader-ast": "^0.6.3", + "@thi.ng/shader-ast-glsl": "^0.2.7", + "@thi.ng/shader-ast-stdlib": "^0.4.6", + "@thi.ng/transducers": "^7.2.2", + "@thi.ng/vector-pools": "^1.0.42", + "@thi.ng/vectors": "^4.6.2" }, "files": [ "*.js", diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index 50be83d743..9cd6c7e2ff 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.22...@thi.ng/zipper@0.1.23) (2020-08-17) + +**Note:** Version bump only for package @thi.ng/zipper + + + + + ## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.21...@thi.ng/zipper@0.1.22) (2020-08-16) **Note:** Version bump only for package @thi.ng/zipper diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 9418182455..961a4edd6f 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.22", + "version": "0.1.23", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^3.9.7" }, "dependencies": { - "@thi.ng/api": "^6.12.1", - "@thi.ng/arrays": "^0.6.14", - "@thi.ng/checks": "^2.7.5" + "@thi.ng/api": "^6.12.2", + "@thi.ng/arrays": "^0.6.15", + "@thi.ng/checks": "^2.7.6" }, "files": [ "*.js",