Skip to content
Permalink
develop
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.

7.1.0 (2022-07-12)

🚀 Features

7.0.0 (2022-07-07)

🛑 Breaking changes

  • add ResolveOpts, conditional unwrapping (a23308b)
  • BREAKING CHANGE: update resolve() signature, use new ResolveOpts
    • this change has only downstream impact on use cases requiring custom prefixes to indicate lookup paths
    • add new option to control value unwrapping in final result
    • update docs/readme
    • add new tests

6.2.0 (2022-07-07)

🚀 Features

  • unwrap all resolved() values in result (888fa33)
    • add unwrapResolved() to unwrap any values wrapped via resolved()
    • update resolveMap/Array()
    • update doc strings
    • update tests

6.1.0 (2022-05-23)

🚀 Features

  • add support for protected values (6280510)
    • add Resolved wrapper & factory fn for protecting values from future/duplicate resolution attempts
    • add tests
    • update docs/readme

6.0.0 (2022-05-02)

🛑 Breaking changes

  • add Unresolved type & type checking (a997fd2)
  • BREAKING CHANGE: add type checking to resolve(). This MIGHT require additional type generics (of the result object type) to be added to any call sites. See tests for examples.

5.1.5 (2022-04-07)

♻️ Refactoring

  • replace deprecated .substr() w/ .substring() (0710509)

5.1.0 (2021-11-17)

🚀 Features

  • Using workspaces for local tools (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) 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.

5.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all tests/pkgs (effd591)

5.0.0 (2021-10-12)

🛑 Breaking changes

  • major update of ALL pkgs (export maps, ESM only) (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 for all tests

♻️ Refactoring

  • update deps & imports in various pkgs (e1cf29e)
    • largely related to recent updates/restructuring of these packages:
      • api
      • defmulti
      • errors
      • logger
  • update imports (138571a)
  • update all tests in all pkgs (8b582bc)

4.2.9 (2020-12-07)

♻️ Refactoring

  • update type-only imports in various tests/pkgs (3fd9c24)

4.2.0 (2020-07-18)

🚀 Features

  • add support for custom lookup prefix (bf89503)
    • add tests

4.1.16 (2020-03-28)

♻️ Refactoring

4.1.2 (2019-07-08)

🩹 Bug fixes

  • fix #97, update to consider trailing comma & whitespace (de9532b)
    • add more tests

4.1.1 (2019-07-08)

🩹 Bug fixes

  • fix #97, update fn arg destructuring (e68dc19)
    • update resolveFunction() to allow trailing comma in destructure form, e.g. { a, b, }
    • add test case

4.1.0 (2019-07-07)

🚀 Features

  • enable TS strict compiler flags (refactor) (7e7ff2a)

♻️ Refactoring

  • address TS strictNullChecks flag (fa7b252)

4.0.0 (2019-01-21)

🛑 Breaking changes

  • update package build scripts & outputs, imports in ~50 packages (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.

3.0.10 (2018-09-01)

🩹 Bug fixes

  • deep resolve of yet unknown path values (a710453)

3.0.8 (2018-08-24)

♻️ Refactoring

3.0.5 (2018-07-15)

🩹 Bug fixes

  • add support for alt ES6 destructure form {a: b} (2482945)
    • also fixes issue w/ minimized builds

3.0.0 (2018-06-07)

🛑 Breaking changes

  • add cycle detection, fix edge cases (e61c3b5)
    • add resolve() as main user function
    • make resolveMap() private
    • update _resolve() to keep track of active lookups
    • implement cycle detection
    • add markResolved() helper
    • update resolveFunction() to mark all of its nested values as resolved
    • refactor resolvePath()
    • update docs/readme
    • add/update tests
  • BREAKING CHANGE: resolveMap() renamed to resolve(), update docs

🚀 Features

  • add ES6 destructuring shorthands for function vals (57f1ed5)
    • add _resolveFunction()
    • add tests
    • update docs & readme

2.0.6 (2018-06-06)

🩹 Bug fixes

  • also use _resolvePath for plain lookups, optimize (48c796f)
    • rename _resolveDeep => _resolvePath
    • update docs
  • add private _resolveDeep (558f4f8)
    • fixes resolution issue if a function dynamically created deep values

♻️ Refactoring

  • export absPath(), add LookupPath type alias (dc6e0ac)

2.0.1 (2018-05-10)

♻️ Refactoring

2.0.0 (2018-05-09)

🛑 Breaking changes

  • fix #21 (5d2a3fe)
  • BREAKING CHANGE: update lookup path prefix & separators
    • lookup paths now are prefixed with @ instead of ->
    • all path segments must be separated by /
    • update readme & tests

1.0.0 (2018-04-16)

🛑 Breaking changes

  • support relative parent refs, update tests/readme (a379d12)
  • BREAKING CHANGE: lookup paths passed to the provided resolve() fn inside function values are now relative by default (previously only absolute paths were allowed)
    • remove resolveArray() from module exports (use resolveMap() instead)
    • add absPath() to compute absolute path
    • add support for "../" ancestor access

0.2.0 (2018-04-16)

🚀 Features

  • resolve each ref only once, re-use resolved results (6992e82)
    • this also fixes function value resolution, e.g. {a: () => ()=> 1, b: "->a" } only unwraps a once now