@thi.ng/defmulti
Advanced tools
Comparing version 2.0.8 to 2.1.0
190
CHANGELOG.md
# Change Log | ||
Last updated: 2021-11-17T23:24:59Z | ||
All notable changes to this project will be documented in this file. | ||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines. | ||
## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@2.0.7...@thi.ng/defmulti@2.0.8) (2021-11-10) | ||
**Note:** Unlisted _patch_ versions only involve non-code changes and/or | ||
version bumps of transitive dependencies. | ||
**Note:** Version bump only for package @thi.ng/defmulti | ||
## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.1.0) (2021-11-17) | ||
#### 🚀 Features | ||
- Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404)) | ||
Improving the overall build ergonomics | ||
- introduced a tools workspaces | ||
- imported it in all needed packages/examples | ||
- inclusive project root | ||
#### ♻️ Refactoring | ||
- testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2)) | ||
this commit reverts (partly) changes made in: | ||
ef346d7a8753590dc9094108a3d861a8dbd5dd2c | ||
overall purpose is better testament ergonomics: | ||
instead of having to pass NODE_OPTIONS with every invocation | ||
having a binary to handle this for us. | ||
## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@2.0.6...@thi.ng/defmulti@2.0.7) (2021-11-03) | ||
### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.0.1) (2021-10-13) | ||
**Note:** Version bump only for package @thi.ng/defmulti | ||
#### ♻️ Refactoring | ||
- update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591)) | ||
- update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f)) | ||
- add .js suffix for all relative imports | ||
# [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.0.0) (2021-10-12) | ||
#### 🛑 Breaking changes | ||
- major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea)) | ||
- BREAKING CHANGE: discontinue CommonJS & UMD versions | ||
- only ESM modules will be published from now on | ||
- CJS obsolete due to ESM support in recent versions of node: | ||
- i.e. launch NodeJS via: | ||
- `node --experimental-specifier-resolution=node --experimental-repl-await` | ||
- in the node REPL use `await import(...)` instead of `require()` | ||
- UMD obsolete due to widespread browser support for ESM | ||
Also: | ||
- normalize/restructure/reorg all package.json files | ||
- cleanup all build scripts, remove obsolete | ||
- switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests | ||
# [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.17...@thi.ng/defmulti@2.0.0) (2021-10-12) | ||
#### 🚀 Features | ||
- update defmulti args ([a10d36f](https://github.com/thi-ng/umbrella/commit/a10d36f)) | ||
- add additional opt arg to allow specifying/adding impls, same effect as `.addAll()` | ||
- update AncestorDefs and `makeRels()` helper | ||
- update tests | ||
- add .setDefault(), pkg restructure ([0a8641a](https://github.com/thi-ng/umbrella/commit/0a8641a)) | ||
- dissolve constants.ts: | ||
- move logging to logger.ts | ||
- move `DEFAULT` symbol to defmulti.ts | ||
- update deps | ||
### Bug Fixes | ||
#### 🩹 Bug fixes | ||
* **defmulti:** add DEFAULT handling for .addAll() ([40ba6f9](https://github.com/thi-ng/umbrella/commit/40ba6f9bc39c713267ac3736fe65c32315ac6980)) | ||
- add DEFAULT handling for .addAll() ([40ba6f9](https://github.com/thi-ng/umbrella/commit/40ba6f9)) | ||
#### ♻️ Refactoring | ||
### Build System | ||
- update imports ([76940d3](https://github.com/thi-ng/umbrella/commit/76940d3)) | ||
- update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc)) | ||
- update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) | ||
* major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6)) | ||
### [1.3.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.6) (2021-03-03) | ||
#### 🩹 Bug fixes | ||
### Features | ||
- add missing type anno (TS4.2) ([bc74d21](https://github.com/thi-ng/umbrella/commit/bc74d21)) | ||
* **defmulti:** add .setDefault(), pkg restructure ([0a8641a](https://github.com/thi-ng/umbrella/commit/0a8641a27f3d340880462541311f5a82360be62b)) | ||
* **defmulti:** update defmulti args ([a10d36f](https://github.com/thi-ng/umbrella/commit/a10d36fcee855220eacbdd1f86d443d888603ac6)) | ||
### [1.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.2) (2020-12-07) | ||
#### ♻️ Refactoring | ||
### BREAKING CHANGES | ||
- update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24)) | ||
* discontinue CommonJS & UMD versions | ||
## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.0) (2020-11-24) | ||
- only ESM modules will be published from now on | ||
- CJS obsolete due to ESM support in recent versions of node: | ||
- i.e. launch NodeJS via: | ||
- `node --experimental-specifier-resolution=node --experimental-repl-await` | ||
- in the node REPL use `await import(...)` instead of `require()` | ||
- UMD obsolete due to widespread browser support for ESM | ||
#### 🚀 Features | ||
Also: | ||
- normalize/restructure/reorg all package.json files | ||
- cleanup all build scripts, remove obsolete | ||
- switch from mocha to @thi.ng/testament for all tests | ||
- add .dependencies(), add tests ([d15a159](https://github.com/thi-ng/umbrella/commit/d15a159)) | ||
### [1.2.25](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.25) (2020-09-13) | ||
#### ♻️ Refactoring | ||
- update imports, use new Fn types in various pkgs ([ced1e5d](https://github.com/thi-ng/umbrella/commit/ced1e5d)) | ||
### [1.2.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.4) (2020-02-25) | ||
#### ♻️ Refactoring | ||
## [1.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.5...@thi.ng/defmulti@1.3.6) (2021-03-03) | ||
- update imports ([9998000](https://github.com/thi-ng/umbrella/commit/9998000)) | ||
### Bug Fixes | ||
## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.0) (2019-11-09) | ||
- **defmulti:** add missing type anno (TS4.2) ([bc74d21](https://github.com/thi-ng/umbrella/commit/bc74d21264f2d3b76fc288eeccab398ad66f76da)) | ||
#### 🚀 Features | ||
# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.26...@thi.ng/defmulti@1.3.0) (2020-11-24) | ||
- allow .add() to overwrite existing impl, add logger ([e387622](https://github.com/thi-ng/umbrella/commit/e387622)) | ||
- update .add() to log warning msg when overwriting existing impl | ||
- add LOGGER, setLogger() | ||
- update tests / readme | ||
### Features | ||
### [1.1.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.1.3) (2019-08-21) | ||
- **defmulti:** add .dependencies(), add tests ([d15a159](https://github.com/thi-ng/umbrella/commit/d15a1594750ac171b1ab93da18d908f1ca6c3897)) | ||
#### ♻️ Refactoring | ||
# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09) | ||
- split into separate files ([dae6009](https://github.com/thi-ng/umbrella/commit/dae6009)) | ||
### Features | ||
## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.1.0) (2019-07-07) | ||
- **defmulti:** allow .add() to overwrite existing impl, add logger ([e387622](https://github.com/thi-ng/umbrella/commit/e387622d3ad44bc0df029c5ba641244dc12c6353)) | ||
#### 🚀 Features | ||
# [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.0.9...@thi.ng/defmulti@1.1.0) (2019-07-07) | ||
- enable TS strict compiler flags (refactor) ([d51ecf9](https://github.com/thi-ng/umbrella/commit/d51ecf9)) | ||
### Features | ||
### [1.0.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.0.4) (2019-03-10) | ||
- **defmulti:** enable TS strict compiler flags (refactor) ([d51ecf9](https://github.com/thi-ng/umbrella/commit/d51ecf9)) | ||
#### ♻️ Refactoring | ||
# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.7.0...@thi.ng/defmulti@1.0.0) (2019-01-21) | ||
- re-use Fn type aliases ([a9b1667](https://github.com/thi-ng/umbrella/commit/a9b1667)) | ||
### Build System | ||
# [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.0.0) (2019-01-21) | ||
#### 🛑 Breaking changes | ||
- update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703)) | ||
- BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD) | ||
- build scripts now first build ES6 modules in package root, then call | ||
`scripts/bundle-module` to build minified CJS & UMD bundles in `/lib` | ||
- all imports MUST be updated to only refer to package level | ||
(not individual files anymore). tree shaking in user land will get rid of | ||
all unused imported symbols. | ||
### Features | ||
#### ♻️ Refactoring | ||
- **defmulti:** add callable() & implementations(), update readme ([fde2db2](https://github.com/thi-ng/umbrella/commit/fde2db2)) | ||
- **defmulti:** add relations() ([4066c80](https://github.com/thi-ng/umbrella/commit/4066c80)) | ||
- **defmulti:** add versions w/ 1 optional typed arg, add .impls() ([125c784](https://github.com/thi-ng/umbrella/commit/125c784)) | ||
- remove optional excess args from type sigs ([5270143](https://github.com/thi-ng/umbrella/commit/5270143)) | ||
- update imports, fix tests (cherry picked from [cdd8659a](https://github.com/thi-ng/umbrella/commit/cdd8659a)) ([e04eb29](https://github.com/thi-ng/umbrella/commit/e04eb29)) | ||
- update imports, fix tests ([cdd8659](https://github.com/thi-ng/umbrella/commit/cdd8659)) | ||
### BREAKING CHANGES | ||
## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.7.0) (2019-01-02) | ||
- enabled multi-outputs (ES6 modules, CJS, UMD) | ||
- build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib` | ||
- all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols. | ||
#### 🚀 Features | ||
# [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.6.0...@thi.ng/defmulti@0.7.0) (2019-01-02) | ||
- add opt fallback arg for defmultiN(), update docs ([1d29153](https://github.com/thi-ng/umbrella/commit/1d29153)) | ||
### Features | ||
## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.6.0) (2019-01-01) | ||
- **defmulti:** add opt fallback arg for defmultiN(), update docs ([1d29153](https://github.com/thi-ng/umbrella/commit/1d29153)) | ||
#### 🚀 Features | ||
# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.5.1...@thi.ng/defmulti@0.6.0) (2019-01-01) | ||
- add addAll(), add/update doc strings ([488698a](https://github.com/thi-ng/umbrella/commit/488698a)) | ||
### Features | ||
## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.5.0) (2018-10-24) | ||
- **defmulti:** add addAll(), add/update doc strings ([488698a](https://github.com/thi-ng/umbrella/commit/488698a)) | ||
#### 🚀 Features | ||
# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.4.1...@thi.ng/defmulti@0.5.0) (2018-10-24) | ||
- add support for dispatch value relationships / hierarchy ([a8c3898](https://github.com/thi-ng/umbrella/commit/a8c3898)) | ||
### Features | ||
## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.4.0) (2018-10-17) | ||
- **defmulti:** add support for dispatch value relationships / hierarchy ([a8c3898](https://github.com/thi-ng/umbrella/commit/a8c3898)) | ||
#### 🚀 Features | ||
# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.3.11...@thi.ng/defmulti@0.4.0) (2018-10-17) | ||
- add varargs support ([6094738](https://github.com/thi-ng/umbrella/commit/6094738)) | ||
### Features | ||
### [0.3.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.3.7) (2018-08-01) | ||
- **defmulti:** add varargs support ([6094738](https://github.com/thi-ng/umbrella/commit/6094738)) | ||
#### ♻️ Refactoring | ||
# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.2.0...@thi.ng/defmulti@0.3.0) (2018-05-11) | ||
- TS3.0 PropertyKey handling ([30d65d4](https://github.com/thi-ng/umbrella/commit/30d65d4)) | ||
### Features | ||
## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.3.0) (2018-05-11) | ||
- **defmulti:** add generics, update docs & readme ([eeed25e](https://github.com/thi-ng/umbrella/commit/eeed25e)) | ||
#### 🚀 Features | ||
# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.1.0...@thi.ng/defmulti@0.2.0) (2018-05-10) | ||
- add generics, update docs & readme ([eeed25e](https://github.com/thi-ng/umbrella/commit/eeed25e)) | ||
### Features | ||
## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.2.0) (2018-05-11) | ||
- **defmulti:** add defmultiN(), update readme, add tests ([126ecf3](https://github.com/thi-ng/umbrella/commit/126ecf3)) | ||
#### 🚀 Features | ||
# 0.1.0 (2018-05-10) | ||
- add defmultiN(), update readme, add tests ([126ecf3](https://github.com/thi-ng/umbrella/commit/126ecf3)) | ||
### Features | ||
## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.1.0) (2018-05-10) | ||
- **defmulti:** add [@thi](https://github.com/thi).ng/defmulti package ([edc66bf](https://github.com/thi-ng/umbrella/commit/edc66bf)) | ||
#### 🚀 Features | ||
- add [@thi.ng/defmulti](https://github.com/thi-ng/umbrella/tree/main/packages/defmulti) package ([edc66bf](https://github.com/thi-ng/umbrella/commit/edc66bf)) |
169
package.json
{ | ||
"name": "@thi.ng/defmulti", | ||
"version": "2.0.8", | ||
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", | ||
"type": "module", | ||
"module": "./index.js", | ||
"typings": "./index.d.ts", | ||
"sideEffects": false, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/thi-ng/umbrella.git" | ||
"name": "@thi.ng/defmulti", | ||
"version": "2.1.0", | ||
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", | ||
"type": "module", | ||
"module": "./index.js", | ||
"typings": "./index.d.ts", | ||
"sideEffects": false, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/thi-ng/umbrella.git" | ||
}, | ||
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti#readme", | ||
"funding": [ | ||
{ | ||
"type": "github", | ||
"url": "https://github.com/sponsors/postspectacular" | ||
}, | ||
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti#readme", | ||
"funding": [ | ||
{ | ||
"type": "github", | ||
"url": "https://github.com/sponsors/postspectacular" | ||
}, | ||
{ | ||
"type": "patreon", | ||
"url": "https://patreon.com/thing_umbrella" | ||
} | ||
], | ||
"author": "Karsten Schmidt <k+npm@thi.ng>", | ||
"license": "Apache-2.0", | ||
"scripts": { | ||
"build": "yarn clean && tsc --declaration", | ||
"clean": "rimraf *.js *.d.ts *.map doc", | ||
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts", | ||
"doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", | ||
"doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts", | ||
"doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts", | ||
"pub": "yarn build && yarn publish --access public", | ||
"test": "testament test" | ||
{ | ||
"type": "patreon", | ||
"url": "https://patreon.com/thing_umbrella" | ||
} | ||
], | ||
"author": "Karsten Schmidt <k+npm@thi.ng>", | ||
"license": "Apache-2.0", | ||
"scripts": { | ||
"build": "yarn clean && tsc --declaration", | ||
"clean": "rimraf '*.js' '*.d.ts' '*.map' doc", | ||
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts", | ||
"doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose", | ||
"doc:readme": "yarn doc:stats && tools:readme", | ||
"doc:stats": "tools:module-stats", | ||
"pub": "yarn build && yarn npm publish --access public", | ||
"test": "testament test" | ||
}, | ||
"dependencies": { | ||
"@thi.ng/api": "^8.3.0", | ||
"@thi.ng/errors": "^2.1.0", | ||
"@thi.ng/logger": "^1.1.0" | ||
}, | ||
"devDependencies": { | ||
"@microsoft/api-extractor": "^7.18.19", | ||
"@thi.ng/testament": "^0.2.0", | ||
"rimraf": "^3.0.2", | ||
"tools": "^0.0.1", | ||
"typedoc": "^0.22.8", | ||
"typescript": "^4.4.4" | ||
}, | ||
"keywords": [ | ||
"agent", | ||
"arity", | ||
"clojure", | ||
"functional", | ||
"hierarchy", | ||
"inheritance", | ||
"multiple-dispatch", | ||
"polymorphic", | ||
"typescript" | ||
], | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"engines": { | ||
"node": ">=12.7" | ||
}, | ||
"files": [ | ||
"*.js", | ||
"*.d.ts" | ||
], | ||
"exports": { | ||
".": { | ||
"import": "./index.js" | ||
}, | ||
"dependencies": { | ||
"@thi.ng/api": "^8.2.0", | ||
"@thi.ng/errors": "^2.0.6", | ||
"@thi.ng/logger": "^1.0.6" | ||
"./api": { | ||
"import": "./api.js" | ||
}, | ||
"devDependencies": { | ||
"@thi.ng/testament": "^0.1.6" | ||
"./defmulti-n": { | ||
"import": "./defmulti-n.js" | ||
}, | ||
"keywords": [ | ||
"agent", | ||
"arity", | ||
"clojure", | ||
"functional", | ||
"hierarchy", | ||
"inheritance", | ||
"multiple-dispatch", | ||
"polymorphic", | ||
"typescript" | ||
], | ||
"publishConfig": { | ||
"access": "public" | ||
"./defmulti": { | ||
"import": "./defmulti.js" | ||
}, | ||
"engines": { | ||
"node": ">=12.7" | ||
"./impls": { | ||
"import": "./impls.js" | ||
}, | ||
"files": [ | ||
"*.js", | ||
"*.d.ts" | ||
], | ||
"exports": { | ||
".": { | ||
"import": "./index.js" | ||
}, | ||
"./api": { | ||
"import": "./api.js" | ||
}, | ||
"./defmulti-n": { | ||
"import": "./defmulti-n.js" | ||
}, | ||
"./defmulti": { | ||
"import": "./defmulti.js" | ||
}, | ||
"./impls": { | ||
"import": "./impls.js" | ||
}, | ||
"./logger": { | ||
"import": "./logger.js" | ||
} | ||
}, | ||
"thi.ng": { | ||
"year": 2018 | ||
}, | ||
"gitHead": "5fe52419af63984ebe53032201b2a6174b9cb159" | ||
} | ||
"./logger": { | ||
"import": "./logger.js" | ||
} | ||
}, | ||
"thi.ng": { | ||
"year": 2018 | ||
}, | ||
"gitHead": "519eedf95c076202f3429eb8e46ccff275bfe446\n" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
167402
18
760
6
Updated@thi.ng/api@^8.3.0
Updated@thi.ng/errors@^2.1.0
Updated@thi.ng/logger@^1.1.0