mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 05:33:00 +00:00 
			
		
		
		
	Update to latest TeaVM
This commit is contained in:
		| @@ -73,7 +73,7 @@ nullAway = "0.12.7" | ||||
| shadow = "8.3.1" | ||||
| spotless = "7.0.2" | ||||
| taskTree = "2.1.1" | ||||
| teavm = "0.11.0-SQUID.1" | ||||
| teavm = "0.13.0-SQUID.1" | ||||
| vanillaExtract = "0.2.1" | ||||
| versionCatalogUpdate = "0.8.1" | ||||
|  | ||||
|   | ||||
							
								
								
									
										275
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										275
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -16,7 +16,7 @@ | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@rollup/plugin-node-resolve": "^16.0.0", | ||||
|         "@rollup/plugin-typescript": "^12.0.0 && <12.1.3", | ||||
|         "@rollup/plugin-typescript": "^12.0.0", | ||||
|         "@rollup/plugin-url": "^8.0.1", | ||||
|         "@swc/core": "^1.3.92", | ||||
|         "@types/node": "^24.0.0", | ||||
| @@ -481,9 +481,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@rollup/plugin-typescript": { | ||||
|       "version": "12.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz", | ||||
|       "integrity": "sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==", | ||||
|       "version": "12.1.4", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.4.tgz", | ||||
|       "integrity": "sha512-s5Hx+EtN60LMlDBvl5f04bEiFZmAepk27Q+mr85L/00zPDn1jtzlTV6FWn81MaIwqfWzKxmOJrBWHU6vtQyedQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
| @@ -554,9 +554,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-android-arm-eabi": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz", | ||||
|       "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", | ||||
|       "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
| @@ -568,9 +568,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-android-arm64": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz", | ||||
|       "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", | ||||
|       "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -582,9 +582,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-darwin-arm64": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz", | ||||
|       "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", | ||||
|       "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -596,9 +596,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-darwin-x64": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz", | ||||
|       "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", | ||||
|       "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -610,9 +610,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-freebsd-arm64": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz", | ||||
|       "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", | ||||
|       "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -624,9 +624,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-freebsd-x64": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz", | ||||
|       "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", | ||||
|       "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -638,9 +638,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-arm-gnueabihf": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz", | ||||
|       "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", | ||||
|       "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
| @@ -652,9 +652,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-arm-musleabihf": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz", | ||||
|       "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", | ||||
|       "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
| @@ -666,9 +666,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-arm64-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -680,9 +680,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-arm64-musl": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz", | ||||
|       "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", | ||||
|       "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -694,9 +694,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-loongarch64-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", | ||||
|       "cpu": [ | ||||
|         "loong64" | ||||
|       ], | ||||
| @@ -708,9 +708,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", | ||||
|       "cpu": [ | ||||
|         "ppc64" | ||||
|       ], | ||||
| @@ -722,9 +722,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-riscv64-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", | ||||
|       "cpu": [ | ||||
|         "riscv64" | ||||
|       ], | ||||
| @@ -736,9 +736,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-riscv64-musl": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz", | ||||
|       "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", | ||||
|       "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", | ||||
|       "cpu": [ | ||||
|         "riscv64" | ||||
|       ], | ||||
| @@ -750,9 +750,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-s390x-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", | ||||
|       "cpu": [ | ||||
|         "s390x" | ||||
|       ], | ||||
| @@ -764,9 +764,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-x64-gnu": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", | ||||
|       "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", | ||||
|       "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -778,9 +778,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-linux-x64-musl": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", | ||||
|       "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", | ||||
|       "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -792,9 +792,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-win32-arm64-msvc": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz", | ||||
|       "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", | ||||
|       "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -806,9 +806,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-win32-ia32-msvc": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz", | ||||
|       "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", | ||||
|       "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", | ||||
|       "cpu": [ | ||||
|         "ia32" | ||||
|       ], | ||||
| @@ -820,9 +820,9 @@ | ||||
|       ] | ||||
|     }, | ||||
|     "node_modules/@rollup/rollup-win32-x64-msvc": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz", | ||||
|       "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", | ||||
|       "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -844,9 +844,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.12.1.tgz", | ||||
|       "integrity": "sha512-aKXdDTqxTVFl/bKQZ3EQUjEMBEoF6JBv29moMZq0kbVO43na6u/u+3Vcbhbrh+A2N0X5OL4RaveuWfAjEgOmeA==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.12.9.tgz", | ||||
|       "integrity": "sha512-O+LfT2JlVMsIMWG9x+rdxg8GzpzeGtCZQfXV7cKc1PjIKUkLFf1QJ7okuseA4f/9vncu37dQ2ZcRrPKy0Ndd5g==", | ||||
|       "dev": true, | ||||
|       "hasInstallScript": true, | ||||
|       "license": "Apache-2.0", | ||||
| @@ -862,16 +862,16 @@ | ||||
|         "url": "https://opencollective.com/swc" | ||||
|       }, | ||||
|       "optionalDependencies": { | ||||
|         "@swc/core-darwin-arm64": "1.12.1", | ||||
|         "@swc/core-darwin-x64": "1.12.1", | ||||
|         "@swc/core-linux-arm-gnueabihf": "1.12.1", | ||||
|         "@swc/core-linux-arm64-gnu": "1.12.1", | ||||
|         "@swc/core-linux-arm64-musl": "1.12.1", | ||||
|         "@swc/core-linux-x64-gnu": "1.12.1", | ||||
|         "@swc/core-linux-x64-musl": "1.12.1", | ||||
|         "@swc/core-win32-arm64-msvc": "1.12.1", | ||||
|         "@swc/core-win32-ia32-msvc": "1.12.1", | ||||
|         "@swc/core-win32-x64-msvc": "1.12.1" | ||||
|         "@swc/core-darwin-arm64": "1.12.9", | ||||
|         "@swc/core-darwin-x64": "1.12.9", | ||||
|         "@swc/core-linux-arm-gnueabihf": "1.12.9", | ||||
|         "@swc/core-linux-arm64-gnu": "1.12.9", | ||||
|         "@swc/core-linux-arm64-musl": "1.12.9", | ||||
|         "@swc/core-linux-x64-gnu": "1.12.9", | ||||
|         "@swc/core-linux-x64-musl": "1.12.9", | ||||
|         "@swc/core-win32-arm64-msvc": "1.12.9", | ||||
|         "@swc/core-win32-ia32-msvc": "1.12.9", | ||||
|         "@swc/core-win32-x64-msvc": "1.12.9" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "@swc/helpers": ">=0.5.17" | ||||
| @@ -883,9 +883,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-darwin-arm64": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.1.tgz", | ||||
|       "integrity": "sha512-nUjWVcJ3YS2N40ZbKwYO2RJ4+o2tWYRzNOcIQp05FqW0+aoUCVMdAUUzQinPDynfgwVshDAXCKemY8X7nN5MaA==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.9.tgz", | ||||
|       "integrity": "sha512-GACFEp4nD6V+TZNR2JwbMZRHB+Yyvp14FrcmB6UCUYmhuNWjkxi+CLnEvdbuiKyQYv0zA+TRpCHZ+whEs6gwfA==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -900,9 +900,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-darwin-x64": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.12.1.tgz", | ||||
|       "integrity": "sha512-OGm4a4d3OeJn+tRt8H/eiHgTFrJbS6r8mi/Ob65tAEXZGHN900T2kR7c5ALr0V2hBOQ8BfhexwPoQlGQP/B95w==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.12.9.tgz", | ||||
|       "integrity": "sha512-hv2kls7Ilkm2EpeJz+I9MCil7pGS3z55ZAgZfxklEuYsxpICycxeH+RNRv4EraggN44ms+FWCjtZFu0LGg2V3g==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -917,9 +917,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-linux-arm-gnueabihf": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.12.1.tgz", | ||||
|       "integrity": "sha512-76YeeQKyK0EtNkQiNBZ0nbVGooPf9IucY0WqVXVpaU4wuG7ZyLEE2ZAIgXafIuzODGQoLfetue7I8boMxh1/MA==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.12.9.tgz", | ||||
|       "integrity": "sha512-od9tDPiG+wMU9wKtd6y3nYJdNqgDOyLdgRRcrj1/hrbHoUPOM8wZQZdwQYGarw63iLXGgsw7t5HAF9Yc51ilFA==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
| @@ -934,9 +934,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-linux-arm64-gnu": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.1.tgz", | ||||
|       "integrity": "sha512-BxJDIJPq1+aCh9UsaSAN6wo3tuln8UhNXruOrzTI8/ElIig/3sAueDM6Eq7GvZSGGSA7ljhNATMJ0elD7lFatQ==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.9.tgz", | ||||
|       "integrity": "sha512-6qx1ka9LHcLzxIgn2Mros+CZLkHK2TawlXzi/h7DJeNnzi8F1Hw0Yzjp8WimxNCg6s2n+o3jnmin1oXB7gg8rw==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -951,9 +951,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-linux-arm64-musl": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.12.1.tgz", | ||||
|       "integrity": "sha512-NhLdbffSXvY0/FwUSAl4hKBlpe5GHQGXK8DxTo3HHjLsD9sCPYieo3vG0NQoUYAy4ZUY1WeGjyxeq4qZddJzEQ==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.12.9.tgz", | ||||
|       "integrity": "sha512-yghFZWKPVVGbUdqiD7ft23G0JX6YFGDJPz9YbLLAwGuKZ9th3/jlWoQDAw1Naci31LQhVC+oIji6ozihSuwB2A==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -968,9 +968,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-linux-x64-gnu": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.1.tgz", | ||||
|       "integrity": "sha512-CrYnV8SZIgArQ9LKH0xEF95PKXzX9WkRSc5j55arOSBeDCeDUQk1Bg/iKdnDiuj5HC1hZpvzwMzSBJjv+Z70jA==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.9.tgz", | ||||
|       "integrity": "sha512-SFUxyhWLZRNL8QmgGNqdi2Q43PNyFVkRZ2zIif30SOGFSxnxcf2JNeSeBgKIGVgaLSuk6xFVVCtJ3KIeaStgRg==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -985,9 +985,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-linux-x64-musl": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.12.1.tgz", | ||||
|       "integrity": "sha512-BQMl3d0HaGB0/h2xcKlGtjk/cGRn2tnbsaChAKcjFdCepblKBCz1pgO/mL7w5iXq3s57wMDUn++71/a5RAkZOA==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.12.9.tgz", | ||||
|       "integrity": "sha512-9FB0wM+6idCGTI20YsBNBg9xSWtkDBymnpaTCsZM3qDc0l4uOpJMqbfWhQvp17x7r/ulZfb2QY8RDvQmCL6AcQ==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -1002,9 +1002,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-win32-arm64-msvc": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.12.1.tgz", | ||||
|       "integrity": "sha512-b7NeGnpqTfmIGtUqXBl0KqoSmOnH64nRZoT5l4BAGdvwY7nxitWR94CqZuwyLPty/bLywmyDA9uO12Kvgb3+gg==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.12.9.tgz", | ||||
|       "integrity": "sha512-zHOusMVbOH9ik5RtRrMiGzLpKwxrPXgXkBm3SbUCa65HAdjV33NZ0/R9Rv1uPESALtEl2tzMYLUxYA5ECFDFhA==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
| @@ -1019,9 +1019,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-win32-ia32-msvc": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.12.1.tgz", | ||||
|       "integrity": "sha512-iU/29X2D7cHBp1to62cUg/5Xk8K+lyOJiKIGGW5rdzTW/c2zz3d/ehgpzVP/rqC4NVr88MXspqHU4il5gmDajw==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.12.9.tgz", | ||||
|       "integrity": "sha512-aWZf0PqE0ot7tCuhAjRkDFf41AzzSQO0x2xRfTbnhpROp57BRJ/N5eee1VULO/UA2PIJRG7GKQky5bSGBYlFug==", | ||||
|       "cpu": [ | ||||
|         "ia32" | ||||
|       ], | ||||
| @@ -1036,9 +1036,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@swc/core-win32-x64-msvc": { | ||||
|       "version": "1.12.1", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.12.1.tgz", | ||||
|       "integrity": "sha512-+Zh+JKDwiFqV5N9yAd2DhYVGPORGh9cfenu1ptr9yge+eHAf7vZJcC3rnj6QMR1QJh0Y5VC9+YBjRFjZVA7XDw==", | ||||
|       "version": "1.12.9", | ||||
|       "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.12.9.tgz", | ||||
|       "integrity": "sha512-C25fYftXOras3P3anSUeXXIpxmEkdAcsIL9yrr0j1xepTZ/yKwpnQ6g3coj8UXdeJy4GTVlR6+Ow/QiBgZQNOg==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -1124,9 +1124,9 @@ | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/@types/node": { | ||||
|       "version": "24.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", | ||||
|       "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", | ||||
|       "version": "24.0.8", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.8.tgz", | ||||
|       "integrity": "sha512-WytNrFSgWO/esSH9NbpWUfTMGQwCGIKfCmNlmFDNiI5gGhgMmEA+V1AEvKLeBNvvtBnailJtkrEa2OIISwrVAA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
| @@ -2856,13 +2856,13 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/rollup": { | ||||
|       "version": "4.43.0", | ||||
|       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", | ||||
|       "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", | ||||
|       "version": "4.44.1", | ||||
|       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", | ||||
|       "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@types/estree": "1.0.7" | ||||
|         "@types/estree": "1.0.8" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "rollup": "dist/bin/rollup" | ||||
| @@ -2872,36 +2872,29 @@ | ||||
|         "npm": ">=8.0.0" | ||||
|       }, | ||||
|       "optionalDependencies": { | ||||
|         "@rollup/rollup-android-arm-eabi": "4.43.0", | ||||
|         "@rollup/rollup-android-arm64": "4.43.0", | ||||
|         "@rollup/rollup-darwin-arm64": "4.43.0", | ||||
|         "@rollup/rollup-darwin-x64": "4.43.0", | ||||
|         "@rollup/rollup-freebsd-arm64": "4.43.0", | ||||
|         "@rollup/rollup-freebsd-x64": "4.43.0", | ||||
|         "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", | ||||
|         "@rollup/rollup-linux-arm-musleabihf": "4.43.0", | ||||
|         "@rollup/rollup-linux-arm64-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-arm64-musl": "4.43.0", | ||||
|         "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-riscv64-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-riscv64-musl": "4.43.0", | ||||
|         "@rollup/rollup-linux-s390x-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-x64-gnu": "4.43.0", | ||||
|         "@rollup/rollup-linux-x64-musl": "4.43.0", | ||||
|         "@rollup/rollup-win32-arm64-msvc": "4.43.0", | ||||
|         "@rollup/rollup-win32-ia32-msvc": "4.43.0", | ||||
|         "@rollup/rollup-win32-x64-msvc": "4.43.0", | ||||
|         "@rollup/rollup-android-arm-eabi": "4.44.1", | ||||
|         "@rollup/rollup-android-arm64": "4.44.1", | ||||
|         "@rollup/rollup-darwin-arm64": "4.44.1", | ||||
|         "@rollup/rollup-darwin-x64": "4.44.1", | ||||
|         "@rollup/rollup-freebsd-arm64": "4.44.1", | ||||
|         "@rollup/rollup-freebsd-x64": "4.44.1", | ||||
|         "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", | ||||
|         "@rollup/rollup-linux-arm-musleabihf": "4.44.1", | ||||
|         "@rollup/rollup-linux-arm64-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-arm64-musl": "4.44.1", | ||||
|         "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-riscv64-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-riscv64-musl": "4.44.1", | ||||
|         "@rollup/rollup-linux-s390x-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-x64-gnu": "4.44.1", | ||||
|         "@rollup/rollup-linux-x64-musl": "4.44.1", | ||||
|         "@rollup/rollup-win32-arm64-msvc": "4.44.1", | ||||
|         "@rollup/rollup-win32-ia32-msvc": "4.44.1", | ||||
|         "@rollup/rollup-win32-x64-msvc": "4.44.1", | ||||
|         "fsevents": "~2.3.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/rollup/node_modules/@types/estree": { | ||||
|       "version": "1.0.7", | ||||
|       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", | ||||
|       "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/semver": { | ||||
|       "version": "6.3.1", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@rollup/plugin-node-resolve": "^16.0.0", | ||||
|     "@rollup/plugin-typescript": "^12.0.0 && <12.1.3", | ||||
|     "@rollup/plugin-typescript": "^12.0.0", | ||||
|     "@rollup/plugin-url": "^8.0.1", | ||||
|     "@swc/core": "^1.3.92", | ||||
|     "@types/node": "^24.0.0", | ||||
|   | ||||
| @@ -17,6 +17,8 @@ import java.io.InputStream; | ||||
| import java.io.UncheckedIOException; | ||||
| import java.net.MalformedURLException; | ||||
| import java.net.URL; | ||||
| import java.net.URLConnection; | ||||
| import java.net.URLStreamHandler; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.util.*; | ||||
| @@ -112,11 +114,17 @@ public class TransformingClassLoader extends ClassLoader { | ||||
|             return super.getResourceAsStream(name); | ||||
|         } | ||||
| 
 | ||||
|         var bytes = getTransformed(path); | ||||
|         this.lastFile = new TransformedClass(name, bytes); | ||||
|         return new ByteArrayInputStream(bytes); | ||||
|     } | ||||
| 
 | ||||
|     private byte[] getTransformed(Path path) { | ||||
|         ClassReader reader; | ||||
|         try (var stream = Files.newInputStream(path)) { | ||||
|             reader = new ClassReader(stream); | ||||
|         } catch (IOException e) { | ||||
|             throw new UncheckedIOException("Failed reading " + name, e); | ||||
|             throw new UncheckedIOException("Failed reading " + path, e); | ||||
|         } | ||||
| 
 | ||||
|         var writer = new ClassWriter(reader, 0); | ||||
| @@ -125,9 +133,7 @@ public class TransformingClassLoader extends ClassLoader { | ||||
|         for (var transformer : transformers) sink = transformer.apply(className, sink); | ||||
|         reader.accept(sink, 0); | ||||
| 
 | ||||
|         var bytes = writer.toByteArray(); | ||||
|         this.lastFile = new TransformedClass(name, bytes); | ||||
|         return new ByteArrayInputStream(bytes); | ||||
|         return writer.toByteArray(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @@ -142,7 +148,7 @@ public class TransformingClassLoader extends ClassLoader { | ||||
|         return new IteratorEnumeration<>( | ||||
|             (path == null ? classpath.stream().map(x -> x.resolve(name)) : Stream.of(path)) | ||||
|                 .filter(Files::exists) | ||||
|                 .map(TransformingClassLoader::toURL) | ||||
|                 .map(this::toURL) | ||||
|                 .iterator() | ||||
|         ); | ||||
|     } | ||||
| @@ -160,9 +166,12 @@ public class TransformingClassLoader extends ClassLoader { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private static URL toURL(Path path) { | ||||
|     private URL toURL(Path path) { | ||||
|         try { | ||||
|             return path.toUri().toURL(); | ||||
|             var url = path.toUri().toURL(); | ||||
| 
 | ||||
|             if (!path.toString().endsWith(".class")) return url; | ||||
|             return new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile(), new TransformingHandler(path)); | ||||
|         } catch (MalformedURLException e) { | ||||
|             throw new IllegalStateException("Cannot convert " + path + " to a URL", e); | ||||
|         } | ||||
| @@ -171,4 +180,31 @@ public class TransformingClassLoader extends ClassLoader { | ||||
|     @SuppressWarnings("ArrayRecordComponent") | ||||
|     private record TransformedClass(String name, byte[] contents) { | ||||
|     } | ||||
| 
 | ||||
|     private final class TransformingHandler extends URLStreamHandler { | ||||
|         private final Path path; | ||||
| 
 | ||||
|         private TransformingHandler(Path path) { | ||||
|             this.path = path; | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         protected URLConnection openConnection(URL u) { | ||||
|             return new URLConnection(u) { | ||||
|                 private @Nullable InputStream stream; | ||||
| 
 | ||||
|                 @Override | ||||
|                 public void connect() { | ||||
|                     if (stream == null) stream = new ByteArrayInputStream(getTransformed(path)); | ||||
|                 } | ||||
| 
 | ||||
|                 @Override | ||||
|                 public InputStream getInputStream() { | ||||
|                     connect(); | ||||
|                     if (stream == null) throw new NullPointerException("Stream cannot be null"); | ||||
|                     return stream; | ||||
|                 } | ||||
|             }; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jonathan Coates
					Jonathan Coates