Skip to content

Notation v3.0.0

Choose a tag to compare

@onury onury released this 15 Jun 17:58
· 55 commits to master since this release
ceb6074

Changed

  • Breaking: ESM now.
  • Breaking: Requires Node v20 and above.
  • Breaking: Notation.Error is removed, use NotationError instead.
  • Breaking: Notation.Glob is removed, use NotationGlob instead.
  • Breaking: NotationGlob#levels is removed, use NotationGlob#notes instead.
  • Breaking: Notation#eachLevel() is removed, use Notation#eachNote() instead.
  • Breaking: Notation#aggregate() is removed, use Notation#expand() instead.
  • Breaking: Notation#delete() is removed, use Notation#remove() instead.
  • Breaking: Notation#renote() is removed, use Notation#rename() instead.
  • Breaking: Notation#copyToNew() is removed, use Notation#extract() instead.
  • Breaking: Notation#moveToNew() is removed, use Notation#extrude() instead.
  • Breaking: Notation.countLevels() is removed, use Notation.countNotes() instead.
  • Breaking: Now ships an exports map; only the package root (notation) and package.json are importable (no deep imports into lib/).
  • Re-written in TypeScript.
  • Modernized the toolchain: TypeScript 6, ESM-only build via tsc (no bundler).
  • Switched testing + coverage to Vitest (from Jest/ts-jest + c8); coverage uses the istanbul provider.
  • Switched linting + formatting to Biome (from ESLint).
  • Switched CI to GitHub Actions (from Travis).
  • Dropped dev dependencies no longer needed: jest, ts-jest, c8, eslint, lodash, pkgroll.
  • Shared config via tsconfig-oy and biome-config-oy.

Fixed

  • An issue with Notation#eachValue() method where bracket notation was ignored.
  • An issue with Notation#set() method where we get i.e. TypeError: Cannot set x of undefined when working with sparse arrays.
  • An issue with Notation#filter() method where in some cases, value was set for the level notation instead of given notation.
  • An issue with Notation#normalize() method where in some cases, intersections were ignored.