-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
package.json
85 lines (85 loc) · 3.51 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{
"name": "musicxml-midi",
"version": "2.10.1",
"description": "MusicXML to MIDI converter",
"type": "module",
"directories": {
"test": "test"
},
"bin": {
"musicxml-midi": "src/js/server.js",
"midi-timemap": "src/js/midi-timemap.js",
"midi-file": "src/js/midi-file.js",
"musicxml-examples": "src/js/musicxml-examples.js",
"musicxml-grooves": "src/js/musicxml-grooves.js"
},
"scripts": {
"build:mmarc": "cp mmarc.example mmarc",
"build:grooves": "${MMA_HOME:-mma}/mma.py -G && find ${MMA_HOME:-mma}/lib grooves -name '*.mma' | while read f; do MMA_ENCODING=utf-8 ${MMA_HOME:-mma}/mma.py -Djs \"$f\" | tail -n +2; done > /tmp/grooves.json; jq -rs \". | flatten\" < /tmp/grooves.json > build/grooves.json",
"build:sef": "for xsl in src/xsl/*.xsl; do sef=$(basename \"$xsl\"); xslt3 -relocate:on -xsl:$xsl -export:build/${sef/.xsl/.sef.json} -nogo:1 -t -ns:##html5; done && rm -f cache/*.mid",
"build": "[ ! -f mmarc ] && npm run build:mmarc; npm run build:grooves; npm run build:sef",
"convert:unroll": "run() { xslt3 -xsl:src/xsl/unroll.xsl -s:\"$1\" ${@:2}; }; run",
"convert:timemap": "run() { xslt3 -xsl:src/xsl/timemap.xsl -s:\"$1\" ${@:2}; }; run",
"convert:mma": "run() { xslt3 -xsl:src/xsl/mma.xsl -s:\"$1\" ${@:2}; }; run",
"convert:groove": "run() { xslt3 -it:groove -xsl:src/xsl/groove.xsl groove=\"$1\" ${@:2}; }; run",
"convert:midi": "run() { ${MMA_HOME:-mma}/mma.py -II \"$1\" -f \"${1/.mma/.mid}\"; }; run",
"debug:chord": "run() { echo \"PrintChord $1\" | ${MMA_HOME:-mma}/mma.py -n -; }; run",
"debug:musicxml": "run() { xslt3 -xsl:src/xsl/musicxml.xsl -s:\"$1\" ${@:2}; }; run",
"debug:groove": "run() { ${MMA_HOME:-mma}/mma.py -V \"$@\"; }; run",
"validate:musicxml": "run() { xmllint --noout --schema src/xsd/musicxml.xsd \"$1\"; }; run",
"validate:mma": "run() { ${MMA_HOME:-mma}/mma.py -II -n \"$1\"; }; run",
"develop": "nodemon -e js,json src/js/server.js",
"start": "node src/js/server.js",
"test:xsl": "test/libs/bats/bin/bats test/*.bats",
"test:js": "cross-env PORT=1331 NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest -t ${TEST:-''}",
"test": "npm run test:xsl && npm run test:js",
"server": "PORT=8085 npm run start",
"postinstall": "./postinstall.sh"
},
"repository": {
"type": "git",
"url": "git+https://github.com/infojunkie/musicxml-midi.git"
},
"author": "Karim Ratib <[email protected]> (https://github.com/infojunkie)",
"license": "GPL-3.0-only",
"bugs": {
"url": "https://github.com/infojunkie/musicxml-midi/issues"
},
"homepage": "https://github.com/infojunkie/musicxml-midi#readme",
"dependencies": {
"cheerio": "^1.0.0",
"compression": "^1.7.4",
"cors": "^2.8.5",
"express": "^4.21.1",
"express-fileupload": "^1.5.1",
"get-stdin": "^9.0.0",
"morgan": "^1.10.0",
"node-fetch": "^3.3.2",
"node-jq": "^6.0.1",
"saxon-js": "^2.6.0",
"unzipit": "^1.4.3",
"validate-with-xmllint": "^1.2.1",
"xml-formatter": "^3.6.3",
"xslt3": "^2.6.0"
},
"devDependencies": {
"cross-env": "^7.0.3",
"glob": "^11.0.0",
"jest": "^29.7.0",
"midi-file": "^1.2.4",
"nodemon": "^3.1.7 ",
"sanitize-filename": "^1.6.3",
"sinon": "^19.0.2",
"supertest": "^7.0.0"
},
"jest": {
"testEnvironment": "jest-environment-node",
"transform": {},
"coveragePathIgnorePatterns": [
"/node_modules/"
],
"moduleNameMapper": {
"^axios$": "<rootDir>/node_modules/axios/dist/node/axios.cjs"
}
}
}