diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 431f7f57f..09b65bec8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,6 +5,7 @@ on:
- develop
- master
pull_request:
+ workflow_dispatch:
jobs:
build_web:
@@ -29,7 +30,9 @@ jobs:
node-version: '12.x'
- uses: actions/setup-dotnet@v1
with:
- dotnet-version: '5.0.x'
+ dotnet-version: |
+ 5.0.x
+ 6.0.x
- run: npm install
- run: npm run build-csharp-ci
- run: npm run test-csharp-ci
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index f94690205..145fed821 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -40,7 +40,9 @@ jobs:
node-version: '12.x'
- uses: actions/setup-dotnet@v1
with:
- dotnet-version: '5.0.x'
+ dotnet-version: |
+ 5.0.x
+ 6.0.x
env:
NUGET_AUTH_TOKEN: ${{secrets.NUGET_API_KEY}}
- run: npm install
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 940f673bf..f5c211456 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -40,7 +40,9 @@ jobs:
node-version: '12.x'
- uses: actions/setup-dotnet@v1
with:
- dotnet-version: '5.0.x'
+ dotnet-version: |
+ 5.0.x
+ 6.0.x
env:
NUGET_AUTH_TOKEN: ${{secrets.NUGET_API_KEY}}
- run: npm install
diff --git a/package-lock.json b/package-lock.json
index d7f40f8e6..f20502c06 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -472,6 +472,12 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -529,9 +535,9 @@
}
},
"concurrently": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.3.0.tgz",
- "integrity": "sha512-k4k1jQGHHKsfbqzkUszVf29qECBrkvBKkcPJEUDTyVR7tZd1G/JOfnst4g1sYbFvJ4UjHZisj1aWQR8yLKpGPw==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz",
+ "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
@@ -682,9 +688,9 @@
"dev": true
},
"date-fns": {
- "version": "2.25.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.25.0.tgz",
- "integrity": "sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w==",
+ "version": "2.28.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
+ "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==",
"dev": true
},
"date-format": {
@@ -800,9 +806,9 @@
"dev": true
},
"engine.io": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.0.1.tgz",
- "integrity": "sha512-Y53UaciUh2Rmx5MiogtMxOQcfh7pnemday+Bb4QDg0Wjmnvo/VTvuEyNGQgYmh8L7VOe8Je1QuiqjLNDelMqLA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.0.tgz",
+ "integrity": "sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==",
"dev": true,
"requires": {
"@types/cookie": "^0.4.1",
@@ -818,9 +824,9 @@
},
"dependencies": {
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -835,9 +841,9 @@
}
},
"engine.io-parser": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.1.tgz",
- "integrity": "sha512-j4p3WwJrG2k92VISM0op7wiq60vO92MlF3CRGxhKHy9ywG1/Dkc72g0dXeDQ+//hrcDn8gqQzoEkdO9FN0d9AA==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz",
+ "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==",
"dev": true,
"requires": {
"base64-arraybuffer": "~1.0.1"
@@ -1009,9 +1015,9 @@
"dev": true
},
"follow-redirects": {
- "version": "1.14.5",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
- "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==",
+ "version": "1.14.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
+ "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==",
"dev": true
},
"forwarded": {
@@ -1330,9 +1336,9 @@
}
},
"karma": {
- "version": "6.3.7",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.7.tgz",
- "integrity": "sha512-EEkswZhOx3EFt1ELlVECeOXHONbHSGw6fkbeMxvCSkLD77X38Kb1d/Oup2Re9ep/tSoa1He3YIBf3Hp+9EsKtg==",
+ "version": "6.3.9",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.9.tgz",
+ "integrity": "sha512-E/MqdLM9uVIhfuyVnrhlGBu4miafBdXEAEqCmwdEMh3n17C7UWC/8Kvm3AYKr91gc7scutekZ0xv6rxRaUCtnw==",
"dev": true,
"requires": {
"body-parser": "^1.19.0",
@@ -1454,9 +1460,9 @@
},
"dependencies": {
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -1583,9 +1589,9 @@
"dev": true
},
"multer": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz",
- "integrity": "sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==",
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz",
+ "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==",
"dev": true,
"requires": {
"append-field": "^1.0.0",
@@ -1807,9 +1813,9 @@
}
},
"rollup": {
- "version": "2.59.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz",
- "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==",
+ "version": "2.62.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.62.0.tgz",
+ "integrity": "sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==",
"dev": true,
"requires": {
"fsevents": "~2.3.2"
@@ -1857,12 +1863,12 @@
}
},
"rollup-plugin-dts": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-4.0.1.tgz",
- "integrity": "sha512-DNv5F8pro/r0Hkx3JWKRtJZocDnqXfgypoajeiaNq134rYaFcEIl/oas5PogD1qexMadVijsHyVko1Chig0OOQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-4.1.0.tgz",
+ "integrity": "sha512-rriXIm3jdUiYeiAAd1Fv+x2AxK6Kq6IybB2Z/IdoAW95fb4uRUurYsEYKa8L1seedezDeJhy8cfo8FEL9aZzqg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.14.5",
+ "@babel/code-frame": "^7.16.0",
"magic-string": "^0.25.7"
},
"dependencies": {
@@ -2108,23 +2114,23 @@
"dev": true
},
"socket.io": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.3.1.tgz",
- "integrity": "sha512-HC5w5Olv2XZ0XJ4gOLGzzHEuOCfj3G0SmoW3jLHYYh34EVsIr3EkW9h6kgfW+K3TFEcmYy8JcPWe//KUkBp5jA==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz",
+ "integrity": "sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
- "engine.io": "~6.0.0",
- "socket.io-adapter": "~2.3.2",
+ "engine.io": "~6.1.0",
+ "socket.io-adapter": "~2.3.3",
"socket.io-parser": "~4.0.4"
},
"dependencies": {
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -2139,9 +2145,9 @@
}
},
"socket.io-adapter": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
- "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
+ "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==",
"dev": true
},
"socket.io-parser": {
@@ -2155,16 +2161,10 @@
"debug": "~4.3.1"
},
"dependencies": {
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -2295,9 +2295,9 @@
"dev": true
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -2379,9 +2379,9 @@
}
},
"terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
+ "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@@ -2396,9 +2396,9 @@
"dev": true
},
"source-map-support": {
- "version": "0.5.20",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz",
- "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==",
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
@@ -2545,9 +2545,9 @@
}
},
"ttypescript": {
- "version": "1.5.12",
- "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.12.tgz",
- "integrity": "sha512-1ojRyJvpnmgN9kIHmUnQPlEV1gq+VVsxVYjk/NfvMlHSmYxjK5hEvOOU2MQASrbekTUiUM7pR/nXeCc8bzvMOQ==",
+ "version": "1.5.13",
+ "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.13.tgz",
+ "integrity": "sha512-KT/RBfGGlVJFqEI8cVvI3nMsmYcFvPSZh8bU0qX+pAwbi7/ABmYkzn7l/K8skw0xmYjVCoyaV6WLsBQxdadybQ==",
"dev": true,
"requires": {
"resolve": ">=1.9.0"
@@ -2570,9 +2570,9 @@
"dev": true
},
"typescript": {
- "version": "4.4.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
- "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
+ "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
"dev": true
},
"ua-parser-js": {
diff --git a/package.json b/package.json
index 419372c4c..7ec7a2a3a 100644
--- a/package.json
+++ b/package.json
@@ -57,10 +57,10 @@
"@types/css-font-loading-module": "0.0.7",
"@types/jasmine": "^3.10.2",
"@types/resize-observer-browser": "^0.1.6",
- "concurrently": "^6.3.0",
+ "concurrently": "^6.5.1",
"cors": "^2.8.5",
"fs-extra": "^10.0.0",
- "karma": "^6.3.7",
+ "karma": "^6.3.9",
"karma-chrome-launcher": "^3.1.0",
"karma-express-http-server": "0.0.1",
"karma-jasmine": "^4.0.1",
@@ -68,21 +68,21 @@
"karma-rollup-preprocessor": "^7.0.7",
"karma-spec-reporter": "0.0.32",
"lodash": "^4.17.21",
- "multer": "^1.4.3",
+ "multer": "^1.4.4",
"rimraf": "^3.0.2",
- "rollup": "^2.59.0",
+ "rollup": "^2.62.0",
"rollup-plugin-copy": "^3.4.0",
- "rollup-plugin-dts": "^4.0.1",
+ "rollup-plugin-dts": "^4.1.0",
"rollup-plugin-license": "^2.6.0",
"rollup-plugin-serve": "^1.1.0",
"rollup-plugin-terser": "^7.0.2",
- "terser": "^5.9.0",
+ "terser": "^5.10.0",
"ts-node": "^10.4.0",
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0",
"tslint-config-standard": "^9.0.0",
- "ttypescript": "^1.5.12",
- "typescript": "^4.4.4"
+ "ttypescript": "^1.5.13",
+ "typescript": "^4.5.4"
},
"files": [
"/dist/alphaTab.js",
diff --git a/src.compiler/typescript/CloneEmitter.ts b/src.compiler/typescript/CloneEmitter.ts
index bf2993d61..60084332b 100644
--- a/src.compiler/typescript/CloneEmitter.ts
+++ b/src.compiler/typescript/CloneEmitter.ts
@@ -325,7 +325,7 @@ export default createEmitter('cloneable', (program, input) => {
false,
undefined,
ts.factory.createNamedImports([
- ts.factory.createImportSpecifier(undefined, ts.factory.createIdentifier(name))
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(name))
])
),
ts.factory.createStringLiteral(module)
@@ -353,7 +353,7 @@ export default createEmitter('cloneable', (program, input) => {
false,
undefined,
ts.factory.createNamedImports([
- ts.factory.createImportSpecifier(undefined, ts.factory.createIdentifier(input.name!.text))
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(input.name!.text))
])
),
ts.factory.createStringLiteral(toImportPath(sourceFileName))
diff --git a/src.compiler/typescript/SerializerEmitter.ts b/src.compiler/typescript/SerializerEmitter.ts
index 5a5efa305..48d47c6ec 100644
--- a/src.compiler/typescript/SerializerEmitter.ts
+++ b/src.compiler/typescript/SerializerEmitter.ts
@@ -1270,7 +1270,7 @@ export default createEmitter('json', (program, input) => {
false,
undefined,
ts.factory.createNamedImports([
- ts.factory.createImportSpecifier(undefined, ts.factory.createIdentifier(name))
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(name))
])
),
ts.factory.createStringLiteral(module)
@@ -1302,7 +1302,7 @@ export default createEmitter('json', (program, input) => {
false,
undefined,
ts.factory.createNamedImports([
- ts.factory.createImportSpecifier(undefined, ts.factory.createIdentifier(input.name!.text))
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(input.name!.text))
])
),
ts.factory.createStringLiteral(toImportPath(sourceFileName))
diff --git a/src.csharp/AlphaTab.Test/AlphaTab.Test.csproj b/src.csharp/AlphaTab.Test/AlphaTab.Test.csproj
index 944f47480..ea255e675 100644
--- a/src.csharp/AlphaTab.Test/AlphaTab.Test.csproj
+++ b/src.csharp/AlphaTab.Test/AlphaTab.Test.csproj
@@ -11,9 +11,9 @@
-
-
-
+
+
+
diff --git a/src.csharp/AlphaTab.Windows/AlphaTab.Windows.csproj b/src.csharp/AlphaTab.Windows/AlphaTab.Windows.csproj
index 2b5767d19..eff1d06a2 100644
--- a/src.csharp/AlphaTab.Windows/AlphaTab.Windows.csproj
+++ b/src.csharp/AlphaTab.Windows/AlphaTab.Windows.csproj
@@ -6,7 +6,7 @@
AlphaTab.Windows
true
true
- netcoreapp3.1;net5.0-windows
+ netcoreapp3.1;net5.0-windows;net6.0-windows
true
true
$(NoWarn);NU5105
diff --git a/src.csharp/AlphaTab/AlphaTab.csproj b/src.csharp/AlphaTab/AlphaTab.csproj
index ad3973636..6ade0c26c 100644
--- a/src.csharp/AlphaTab/AlphaTab.csproj
+++ b/src.csharp/AlphaTab/AlphaTab.csproj
@@ -25,8 +25,8 @@
-
-
-
+
+
+
diff --git a/src.csharp/Samples/AlphaTab.Samples.Wpf/AlphaTab.Samples.Wpf.csproj b/src.csharp/Samples/AlphaTab.Samples.Wpf/AlphaTab.Samples.Wpf.csproj
index 1b277694c..b30ae986f 100644
--- a/src.csharp/Samples/AlphaTab.Samples.Wpf/AlphaTab.Samples.Wpf.csproj
+++ b/src.csharp/Samples/AlphaTab.Samples.Wpf/AlphaTab.Samples.Wpf.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src.kotlin/alphaTab/build.gradle.kts b/src.kotlin/alphaTab/build.gradle.kts
index b1c89f1e5..1b77d6258 100644
--- a/src.kotlin/alphaTab/build.gradle.kts
+++ b/src.kotlin/alphaTab/build.gradle.kts
@@ -49,7 +49,7 @@ kotlin {
}
val jvmMain by getting {
dependencies {
- api("org.jetbrains.skija:skija-$target:0.91.3")
+ api("org.jetbrains.skija:skija-$target:0.93.6")
}
}
jvmMain.kotlin.srcDirs("src/jvmCommon/kotlin")
diff --git a/src.kotlin/alphaTab/src/jvmMain/kotlin/alphaTab/platform/jvm/SkiaCanvas.kt b/src.kotlin/alphaTab/src/jvmMain/kotlin/alphaTab/platform/jvm/SkiaCanvas.kt
index 5dd410aac..a84395653 100644
--- a/src.kotlin/alphaTab/src/jvmMain/kotlin/alphaTab/platform/jvm/SkiaCanvas.kt
+++ b/src.kotlin/alphaTab/src/jvmMain/kotlin/alphaTab/platform/jvm/SkiaCanvas.kt
@@ -131,7 +131,7 @@ public class SkiaCanvas : ICanvas {
override fun fillRect(x: Double, y: Double, w: Double, h: Double) {
createPaint().use {
- it.blendMode = BlendMode.SRC_OVER
+ it.setBlendMode(BlendMode.SRC_OVER)
it.mode = PaintMode.FILL
_surface.canvas.drawRect(
Rect(
@@ -154,7 +154,7 @@ public class SkiaCanvas : ICanvas {
override fun strokeRect(x: Double, y: Double, w: Double, h: Double) {
createPaint().use {
- it.blendMode = BlendMode.SRC_OVER
+ it.setBlendMode(BlendMode.SRC_OVER)
it.mode = PaintMode.STROKE
_surface.canvas.drawRect(
Rect(
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 69c3b1f2e..f7f93b617 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"moduleResolution": "node",
- "target": "es6",
+ "target": "es2019",
"module": "es6",
"lib": [
"es2015",