Releases: martijnversluis/ChordSheetJS
Releases · martijnversluis/ChordSheetJS
v7.15.0
v7.14.0
Changes
Expand chorus directives (#802)
This will expand any {chorus}
or {chorus: Show this label}
directive to inline the last defined chorus just before the directive.
For example, if you write the following:
{start_of_chorus: Chorus 1:}
[C]Whisper words of
{end_of_chorus}
{chorus: Repeat chorus 1:}
and you format with option expandChorusDirective: true
:
const song = new ChordProParser().parse(chordSheet);
const formatted = new TextFormatter({ expandChorusDirective: false }).format(song);
You get:
Chorus 1:
C
Whisper words of
Repeat chorus 1:
C
Whisper words of
v7.13.0
v7.12.1
Changes
Dependency updates
- Bump @types/node from 18.11.10 to 18.11.12 (#771)
- Bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.46.1 (#773)
- Bump eslint from 8.28.0 to 8.30.0 (#764, #781)
- Bump @typescript-eslint/parser from 5.45.0 to 5.46.0 (#769)
- Bump @types/node from 18.11.12 to 18.11.17 (#777)
- Bump parcel to 2 8 2 (#780)
- Bump @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.1 (#786)
- Bump typescript from 4.9.3 to 4.9.4 (#782)
- Bump @babel/plugin-proposal-object-rest-spread from 7.20.2 to 7.20.7
- Bump @babel/core from 7.20.5 to 7.20.7 (#784)
v7.12.0
Changes
- Update directive support table
- Add badges for CI and Release
- Use correct JSdoc for Line properties
- Correct example syntax for Font.toCssString()
- Normalize chords against capoed key (#759)
- Allow passing rendering key to formatters (#763)
Dependency updates
v7.11.0
v7.10.0
Changes
- Render labels for environment directives (#751)
Labels for directivesstart_of_bridge
,start_of_chorus
,start_of_tab
,start_of_verse
should be rendered when a label (directive value) is included.
Dependency updates
- Bump eslint from 8.27.0 to 8.28.0
- Bump @typescript-eslint/eslint-plugin from 5.43.0 to 5.44.0
- Bump @typescript-eslint/parser from 5.43.0 to 5.44.0
v7.9.0
Changes
- Allow whitespace for Chord.parse()
Chord.parse()
allows any kind of leading or trailing whitespace. - Deprecate chord sheet parser
ChordsOverWordsParser aims to support any kind of chord, whereas ChordSheetParser lacks support for many variations. Besides that, some chordpro feature have been ported back to ChordsOverWordsParser, which adds some interesting functionality. - NodeJS 18 and 19 have been added to the CI matrix
v7.8.0
Changes
- Transpose following Enharmonic Rules & Normalize Chord Suffix
- Implement
Song#setCapo
andSong#setKey
setCapo
changes the song capo, both inmetadata
and thecapo
directive.
setKey
changes the song key inmetadata
and thekey
directive, and transposes all chords according to the distance between the current key and the new key. - Implement getCapos() and getKeys()
getCapos(key)
returns available capos for a certain key.getKeys(key)
returns available keys to transpose to. - Add
Metadata.merge()
function
It returns a new Metadata object where metadata is merged with the supplied metadata. - Support all types of line endings
Development changes
- added a huge amount of type annotations to the sources
- added a strict ESlint rule set
Dependency updates
- Bump @parcel/packager-ts from
2.7.0
to2.8.0
- Bump @parcel/transformer-typescript-types from
2.7.0
to2.8.0
v7.7.0
Changes
- Bugfix: bass notes cannot be minor
- Bugfix: without key, Song.transpose only transposes last chord on each line
- Document Key::distance()
Development dependency updates
- Bump ts-pegjs from 2.0.1 to 2.0.2
- Bump @types/node from 18.0.1 to 18.11.2
- Bump @typescript-eslint/eslint-plugin from 5.30.5 to 5.40.1
- Bump @typescript-eslint/parser from 5.30.5 to 5.40.1
- Bump ts-node from 10.8.2 to 10.9.1
- Bump eslint from 8.19.0 to 8.25.0
- Bump @babel/plugin-proposal-object-rest-spread from 7.18.6 to 7.18.9
- Bump @babel/core from 7.18.6 to 7.19.6
- Bump @babel/preset-env from 7.18.6 to 7.19.4
- Bump terser from 5.12.1 to 5.14.2
- Bump @babel/cli from 7.18.6 to 7.19.3
- Bump parcel from 2.6.2 to 2.7.0
- Bump typescript from 4.7.4 to 4.8.4