chordsheetjs 6.0.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +477 -539
  2. package/lib/bundle.js +15353 -0
  3. package/lib/index.js +6253 -216
  4. package/lib/index.js.map +1 -0
  5. package/lib/main.d.ts +1062 -0
  6. package/lib/main.d.ts.map +1 -0
  7. package/package.json +50 -23
  8. package/d7b54993c4ea66c07a35bd36690482ab620f836e.patch +0 -105
  9. package/lib/chord.js +0 -496
  10. package/lib/chord_sheet/chord_lyrics_pair.js +0 -75
  11. package/lib/chord_sheet/chord_pro/composite.js +0 -54
  12. package/lib/chord_sheet/chord_pro/evaluation_error.js +0 -58
  13. package/lib/chord_sheet/chord_pro/literal.js +0 -42
  14. package/lib/chord_sheet/chord_pro/ternary.js +0 -126
  15. package/lib/chord_sheet/comment.js +0 -55
  16. package/lib/chord_sheet/line.js +0 -185
  17. package/lib/chord_sheet/metadata.js +0 -202
  18. package/lib/chord_sheet/paragraph.js +0 -88
  19. package/lib/chord_sheet/song.js +0 -353
  20. package/lib/chord_sheet/tag.js +0 -345
  21. package/lib/chord_sheet_serializer.js +0 -278
  22. package/lib/constants.js +0 -54
  23. package/lib/formatter/chord_pro_formatter.js +0 -184
  24. package/lib/formatter/html_div_formatter.js +0 -130
  25. package/lib/formatter/html_formatter.js +0 -44
  26. package/lib/formatter/html_table_formatter.js +0 -154
  27. package/lib/formatter/templates/html_div_formatter.js +0 -544
  28. package/lib/formatter/templates/html_table_formatter.js +0 -731
  29. package/lib/formatter/text_formatter.js +0 -184
  30. package/lib/helpers.js +0 -32
  31. package/lib/key.js +0 -386
  32. package/lib/normalize_mappings/enharmonic-normalize.js +0 -124
  33. package/lib/normalize_mappings/generate-suffix-normalize-mapping.js +0 -36
  34. package/lib/normalize_mappings/suffix-normalize-mapping.js +0 -914
  35. package/lib/note.js +0 -264
  36. package/lib/parser/chord_pro_parser.js +0 -64
  37. package/lib/parser/chord_pro_peg_parser.js +0 -2069
  38. package/lib/parser/chord_sheet_parser.js +0 -175
  39. package/lib/parser/parser_warning.js +0 -62
  40. package/lib/parser/ultimate_guitar_parser.js +0 -154
  41. package/lib/template_helpers.js +0 -98
  42. package/lib/utilities.js +0 -110
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["src/src/parser/chord_pro_peg_parser.ts","src/src/chord_sheet/chord_pro/literal.ts","src/src/constants.ts","src/src/note.ts","src/src/normalize_mappings/enharmonic-normalize.ts","src/src/utilities.ts","src/src/key.ts","src/src/normalize_mappings/suffix-normalize-mapping.ts","src/src/chord.ts","src/src/chord_sheet/chord_lyrics_pair.ts","src/src/chord_sheet/trace_info.ts","src/src/chord_sheet/ast_component.ts","src/src/chord_sheet/tag.ts","src/src/chord_sheet/comment.ts","src/src/chord_sheet/chord_pro/evaluation_error.ts","src/src/chord_sheet/metadata_accessors.ts","src/src/chord_sheet/metadata.ts","src/src/chord_sheet/chord_pro/evaluatable.ts","src/src/chord_sheet/chord_pro/composite.ts","src/src/chord_sheet/chord_pro/ternary.ts","src/src/chord_sheet/line.ts","src/src/chord_sheet/paragraph.ts","src/src/parser/parser_warning.ts","src/src/chord_sheet/song.ts","src/src/chord_sheet_serializer.ts","src/src/parser/chord_pro_parser.ts","src/src/parser/chord_sheet_parser.ts","src/src/parser/ultimate_guitar_parser.ts","src/src/formatter/configuration/metadata_configuration.ts","src/src/formatter/configuration/configuration.ts","src/src/formatter/formatter.ts","src/src/helpers.ts","src/src/template_helpers.ts","src/src/formatter/text_formatter.ts","src/src/formatter/html_formatter.ts","src/src/formatter/html_table_formatter.ts","src/src/formatter/html_div_formatter.ts","src/src/formatter/chord_pro_formatter.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import ChordProParser from './parser/chord_pro_parser';\nimport ChordSheetParser from './parser/chord_sheet_parser';\nimport UltimateGuitarParser from './parser/ultimate_guitar_parser';\nimport TextFormatter from './formatter/text_formatter';\nimport HtmlTableFormatter from './formatter/html_table_formatter';\nimport HtmlDivFormatter from './formatter/html_div_formatter';\nimport ChordProFormatter from './formatter/chord_pro_formatter';\nimport ChordLyricsPair from './chord_sheet/chord_lyrics_pair';\nimport Line from './chord_sheet/line';\nimport Song from './chord_sheet/song';\nimport Tag from './chord_sheet/tag';\nimport Comment from './chord_sheet/comment';\nimport Metadata from './chord_sheet/metadata';\nimport Paragraph from './chord_sheet/paragraph';\nimport Ternary from './chord_sheet/chord_pro/ternary';\nimport Composite from './chord_sheet/chord_pro/composite';\nimport Literal from './chord_sheet/chord_pro/literal';\nimport ChordSheetSerializer from './chord_sheet_serializer';\n\nimport {\n CHORUS,\n INDETERMINATE,\n VERSE,\n NONE,\n TAB,\n} from './constants';\n\nexport { default as ChordProParser } from './parser/chord_pro_parser';\nexport { default as ChordSheetParser } from './parser/chord_sheet_parser';\nexport { default as UltimateGuitarParser } from './parser/ultimate_guitar_parser';\nexport { default as TextFormatter } from './formatter/text_formatter';\nexport { default as HtmlTableFormatter } from './formatter/html_table_formatter';\nexport { default as HtmlDivFormatter } from './formatter/html_div_formatter';\nexport { default as ChordProFormatter } from './formatter/chord_pro_formatter';\nexport { default as ChordLyricsPair } from './chord_sheet/chord_lyrics_pair';\nexport { default as Line } from './chord_sheet/line';\nexport { default as Song } from './chord_sheet/song';\nexport { default as Tag } from './chord_sheet/tag';\nexport { default as Comment } from './chord_sheet/comment';\nexport { default as Metadata } from './chord_sheet/metadata';\nexport { default as Paragraph } from './chord_sheet/paragraph';\nexport { default as Ternary } from './chord_sheet/chord_pro/ternary';\nexport { default as Composite } from './chord_sheet/chord_pro/composite';\nexport { default as Literal } from './chord_sheet/chord_pro/literal';\nexport { default as ChordSheetSerializer } from './chord_sheet_serializer';\nexport { default as Chord, parseChord } from './chord';\nexport { default as Key } from './key';\n\nexport {\n CHORUS,\n INDETERMINATE,\n VERSE,\n NONE,\n TAB,\n SYMBOL,\n NUMERIC,\n} from './constants';\n\nexport default {\n ChordProParser,\n ChordSheetParser,\n UltimateGuitarParser,\n TextFormatter,\n HtmlTableFormatter,\n HtmlDivFormatter,\n ChordProFormatter,\n ChordLyricsPair,\n Line,\n Song,\n Tag,\n Comment,\n Metadata,\n Paragraph,\n Ternary,\n Composite,\n Literal,\n ChordSheetSerializer,\n CHORUS,\n INDETERMINATE,\n TAB,\n VERSE,\n NONE,\n};\n"],"names":[],"version":3,"file":"main.d.ts.map"}
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "chordsheetjs",
3
3
  "author": "Martijn Versluis",
4
- "version": "6.0.0",
4
+ "version": "6.2.0",
5
5
  "description": "A JavaScript library for parsing and formatting chord sheets",
6
+ "source": "src/index.ts",
6
7
  "main": "lib/index.js",
8
+ "types": "./lib/main.d.ts",
9
+ "files": [
10
+ "/lib"
11
+ ],
7
12
  "license": "GPL-2.0-only",
8
13
  "repository": {
9
14
  "type": "git",
@@ -14,37 +19,59 @@
14
19
  },
15
20
  "homepage": "https://github.com/martijnversluis/ChordSheetJS",
16
21
  "devDependencies": {
17
- "@babel/cli": "^7.10.1",
18
- "@babel/core": "^7.10.2",
19
- "@babel/eslint-parser": "^7.16.3",
20
- "@babel/plugin-transform-runtime": "^7.10.1",
21
- "@babel/preset-env": "^7.10.2",
22
- "babel-plugin-handlebars-inline-precompile": "^2.1.1",
23
- "eslint": "^8.3.0",
22
+ "@babel/cli": "^7.17.6",
23
+ "@babel/core": "^7.17.9",
24
+ "@babel/plugin-proposal-class-properties": "^7.16.7",
25
+ "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
26
+ "@babel/preset-env": "^7.16.11",
27
+ "@babel/preset-typescript": "^7.16.7",
28
+ "@parcel/packager-ts": "2.4.1",
29
+ "@parcel/transformer-typescript-types": "2.4.1",
30
+ "@types/jest": "^27.4.1",
31
+ "@types/node": "^17.0.24",
32
+ "@typescript-eslint/eslint-plugin": "^5.18.0",
33
+ "@typescript-eslint/parser": "^5.18.0",
34
+ "browserify": "^17.0.0",
35
+ "eslint": "^8.12.0",
24
36
  "eslint-config-airbnb-base": "^15.0.0",
25
- "eslint-plugin-import": "^2.21.2",
37
+ "eslint-plugin-import": "^2.26.0",
38
+ "husky": "^7.0.0",
26
39
  "jest": "^27.0.1",
27
- "jsdoc-to-markdown": "^7.1.0",
28
- "pegjs": "^0.10.0",
29
- "print": "^1.2.0"
40
+ "jsdoc-babel": "^0.5.0",
41
+ "jsdoc-to-markdown": "^7.1.1",
42
+ "parcel": "^2.4.1",
43
+ "parcel-transformer-hbs": "^1.0.4",
44
+ "peggy": "^1.2.0",
45
+ "pinst": "^3.0.0",
46
+ "print": "^1.2.0",
47
+ "ts-jest": "^27.1.4",
48
+ "ts-node": "^10.7.0",
49
+ "ts-pegjs": "^1.2.2",
50
+ "typescript": "^4.6.3"
30
51
  },
31
52
  "scripts": {
32
- "build:template": "handlebars \"src/formatter/templates/$TEMPLATE.handlebars\" -f \"src/formatter/templates/$TEMPLATE.js\" --known each --known if --known with --known paragraphClasses --known isChordLyricsPair --known isTag --known isComment --known shouldRenderLine --known hasChordContents --known lineHasContents --known lineClasses --known toUpperCase --known paragraphClasses --commonjs handlebars",
53
+ "build:template": "handlebars \"src/formatter/templates/$TEMPLATE.hbs\" -f \"src/formatter/templates/$TEMPLATE.js\" --extension hbs --commonjs handlebars --known each --known if --known with --known paragraphClasses --known isChordLyricsPair --known isTag --known isComment --known shouldRenderLine --known hasChordContents --known lineHasContents --known lineClasses --known toUpperCase --known paragraphClasses",
33
54
  "build:templates": "TEMPLATE=html_div_formatter yarn build:template && TEMPLATE=html_table_formatter yarn build:template",
34
- "build:suffix-normalize": "rm -rf src/normalize_mappings/suffix-normalize-mapping.js && node src/normalize_mappings/generate-suffix-normalize-mapping.js",
35
- "build:pegjs": "pegjs -o src/parser/chord_pro_peg_parser.js src/parser/chord_pro_grammar.pegjs",
55
+ "build:suffix-normalize": "rm -rf src/normalize_mappings/suffix-normalize-mapping.ts && ts-node src/normalize_mappings/generate-suffix-normalize-mapping.ts",
56
+ "build:pegjs": "peggy --plugin ./node_modules/ts-pegjs -o src/parser/chord_pro_peg_parser.ts src/parser/chord_pro_grammar.pegjs",
36
57
  "build:code-generate": "yarn build:suffix-normalize && yarn build:templates && yarn build:pegjs",
37
- "build:sources": "rm -rf lib && babel src --out-dir lib",
38
- "build": "yarn build:code-generate && yarn build:sources",
58
+ "build:sources": "parcel build",
59
+ "build:browserify": "browserify lib/index.js --outfile lib/bundle.js --standalone ChordSheetJS",
60
+ "build": "yarn build:code-generate && yarn build:sources && yarn build:browserify",
39
61
  "jest": "jest",
40
62
  "test": "yarn lint && yarn jest",
41
- "lint": "yarn build:code-generate && node_modules/.bin/eslint --ext .js .",
42
- "lint:fix": "node_modules/.bin/eslint --fix --ext .js .",
43
- "readme": "jsdoc2md -f src/**/*.js -f src/*.js --template doc/README.hbs > README.md",
44
- "prepublishOnly": "yarn install && yarn test && yarn build",
45
- "pretest": "yarn build:code-generate"
63
+ "eslint": "node_modules/.bin/eslint --ext .ts .",
64
+ "lint": "yarn build:code-generate && yarn eslint",
65
+ "lint:fix": "node_modules/.bin/eslint --fix --ext .ts .",
66
+ "readme": "jsdoc2md -f src/**/*.ts -f src/*.ts --configure ./jsdoc2md.json --template doc/README.hbs > README.md",
67
+ "prepublishOnly": "pinst --disable && yarn install && yarn test && yarn build",
68
+ "postpublish": "pinst --enable",
69
+ "pretest": "yarn build:code-generate",
70
+ "prepare": "husky install",
71
+ "_postinstall": "husky install"
46
72
  },
47
73
  "dependencies": {
48
- "handlebars": "^4.7.6"
74
+ "handlebars": "^4.7.6",
75
+ "lodash.get": "^4.4.2"
49
76
  }
50
77
  }
@@ -1,105 +0,0 @@
1
- commit d7b54993c4ea66c07a35bd36690482ab620f836e
2
- Author: Martijn Versluis <martijnversluis@users.noreply.github.com>
3
- Date: Sun Jan 30 16:35:24 2022 +0100
4
-
5
- Do not rely on contructor name
6
-
7
- Due to build tools scrambling constructor names, we can not rely on those
8
- for type checking. Thus we have to use `instanceof`. This change removes
9
- usages of `constructor.name` and solves the cyclic dependency by moving around
10
- some functions.
11
-
12
- Resolves #421
13
-
14
- diff --git a/src/formatter/html_div_formatter.js b/src/formatter/html_div_formatter.js
15
- index f92f532..b1de230 100644
16
- --- a/src/formatter/html_div_formatter.js
17
- +++ b/src/formatter/html_div_formatter.js
18
- @@ -1,6 +1,6 @@
19
- import Handlebars from 'handlebars';
20
-
21
- -import '../handlebars_helpers';
22
- +import '../template_helpers';
23
- import HtmlFormatter from './html_formatter';
24
- import './templates/html_div_formatter';
25
- import { scopeCss } from '../utilities';
26
- diff --git a/src/formatter/html_table_formatter.js b/src/formatter/html_table_formatter.js
27
- index 4883fef..7d7e8ea 100644
28
- --- a/src/formatter/html_table_formatter.js
29
- +++ b/src/formatter/html_table_formatter.js
30
- @@ -1,6 +1,6 @@
31
- import Handlebars from 'handlebars';
32
-
33
- -import '../handlebars_helpers';
34
- +import '../template_helpers';
35
- import HtmlFormatter from './html_formatter';
36
- import './templates/html_table_formatter';
37
- import { scopeCss } from '../utilities';
38
- diff --git a/src/formatter/text_formatter.js b/src/formatter/text_formatter.js
39
- index 61385f1..81fe226 100644
40
- --- a/src/formatter/text_formatter.js
41
- +++ b/src/formatter/text_formatter.js
42
- @@ -1,10 +1,10 @@
43
- import ChordLyricsPair from '../chord_sheet/chord_lyrics_pair';
44
- import Tag from '../chord_sheet/tag';
45
- import { renderChord } from '../helpers';
46
- +import { hasTextContents } from '../template_helpers';
47
-
48
- import {
49
- hasChordContents,
50
- - hasTextContents,
51
- padLeft,
52
- } from '../utilities';
53
-
54
- diff --git a/src/handlebars_helpers.js b/src/template_helpers.js
55
- similarity index 87%
56
- rename from src/handlebars_helpers.js
57
- rename to src/template_helpers.js
58
- index 0e5ff98..b330f87 100644
59
- --- a/src/handlebars_helpers.js
60
- +++ b/src/template_helpers.js
61
- @@ -7,12 +7,20 @@ import { renderChord } from './helpers';
62
-
63
- import {
64
- hasChordContents,
65
- - hasTextContents,
66
- isEvaluatable,
67
- } from './utilities';
68
-
69
- const lineHasContents = (line) => line.items.some((item) => item.isRenderable());
70
-
71
- +/* eslint import/prefer-default-export: 0 */
72
- +export const hasTextContents = (line) => (
73
- + line.items.some((item) => (
74
- + (item instanceof ChordLyricsPair && item.lyrics)
75
- + || (item instanceof Tag && item.isRenderable())
76
- + || isEvaluatable(item)
77
- + ))
78
- +);
79
- +
80
- HandleBars.registerHelper('isChordLyricsPair', (item) => item instanceof ChordLyricsPair);
81
-
82
- HandleBars.registerHelper('isTag', (item) => item instanceof Tag);
83
- diff --git a/src/utilities.js b/src/utilities.js
84
- index 03c69cc..503c811 100644
85
- --- a/src/utilities.js
86
- +++ b/src/utilities.js
87
- @@ -8,18 +8,6 @@ export const hasChordContents = (line) => line.items.some((item) => !!item.chord
88
-
89
- export const isEvaluatable = (item) => typeof item.evaluate === 'function';
90
-
91
- -function isInstanceOf(object, constructorName) {
92
- - return object?.constructor?.name === constructorName;
93
- -}
94
- -
95
- -export const hasTextContents = (line) => (
96
- - line.items.some((item) => (
97
- - (isInstanceOf(item, 'ChordLyricsPair') && item.lyrics)
98
- - || (isInstanceOf(item, 'Tag') && item.isRenderable())
99
- - || isEvaluatable(item)
100
- - ))
101
- -);
102
- -
103
- export const padLeft = (str, length) => {
104
- let paddedString = str;
105
- for (let l = str.length; l < length; l += 1, paddedString += ' ');