diff --git a/.darklua.json b/.darklua.json index c75fe36..b52ef93 100644 --- a/.darklua.json +++ b/.darklua.json @@ -1,15 +1,15 @@ { - "generator": "dense", - "rules": [ - "remove_comments", - "remove_spaces", - "compute_expression", - "convert_luau_number", - "group_local_assignment", - "remove_empty_do", - "remove_function_call_parens", - "remove_nil_declaration", - "remove_unused_if_branch", - "remove_unused_variable" - ] -} \ No newline at end of file + "generator": "dense", + "rules": [ + "remove_comments", + "remove_spaces", + "compute_expression", + "convert_luau_number", + "group_local_assignment", + "remove_empty_do", + "remove_function_call_parens", + "remove_nil_declaration", + "remove_unused_if_branch", + "remove_unused_variable" + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c544019..d11c0bf 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,3 @@ { - "recommendations": [ - "roblox-ts.vscode-roblox-ts", - "dbaeumer.vscode-eslint" - ] -} \ No newline at end of file + "recommendations": ["roblox-ts.vscode-roblox-ts", "dbaeumer.vscode-eslint"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index c5dfdea..7c84537 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -17,4 +17,4 @@ "files.associations": { "*.luau": "lua" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f150557..878ef93 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,9 +30,6 @@ importers: specifier: ^17.2.3 version: 17.2.3 devDependencies: - '@eslint/eslintrc': - specifier: ^3.3.3 - version: 3.3.3 '@eslint/js': specifier: ^9.39.1 version: 9.39.1 @@ -51,12 +48,6 @@ importers: '@rbxts/types': specifier: ^1.0.896 version: 1.0.896 - '@typescript-eslint/eslint-plugin': - specifier: ^8.48.1 - version: 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^8.48.1 - version: 8.48.1(eslint@9.39.1)(typescript@5.5.4) eslint: specifier: ^9.39.1 version: 9.39.1 @@ -68,7 +59,7 @@ importers: version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.7.4) eslint-plugin-roblox-ts: specifier: ^1.3.0 - version: 1.3.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4) + version: 1.3.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4) prettier: specifier: ^3.7.4 version: 3.7.4 @@ -81,15 +72,15 @@ importers: rbxts-transformer-services: specifier: ^1.1.1 version: 1.1.1(typescript@5.5.4) - rbxts-transformer-t-new-new: - specifier: ^0.2.0 - version: 0.2.0 roblox-ts: specifier: ^3.0.0 version: 3.0.0 typescript: specifier: ~5.5.4 version: 5.5.4 + typescript-eslint: + specifier: ^8.49.0 + version: 8.49.0(eslint@9.39.1)(typescript@5.5.4) packages: @@ -239,16 +230,16 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@typescript-eslint/eslint-plugin@8.48.1': - resolution: {integrity: sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==} + '@typescript-eslint/eslint-plugin@8.49.0': + resolution: {integrity: sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.48.1 + '@typescript-eslint/parser': ^8.49.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.48.1': - resolution: {integrity: sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==} + '@typescript-eslint/parser@8.49.0': + resolution: {integrity: sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -260,8 +251,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.48.1': - resolution: {integrity: sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==} + '@typescript-eslint/project-service@8.49.0': + resolution: {integrity: sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -270,8 +261,8 @@ packages: resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.48.1': - resolution: {integrity: sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==} + '@typescript-eslint/scope-manager@8.49.0': + resolution: {integrity: sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.46.4': @@ -280,8 +271,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.48.1': - resolution: {integrity: sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==} + '@typescript-eslint/tsconfig-utils@8.49.0': + resolution: {integrity: sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -293,8 +284,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.48.1': - resolution: {integrity: sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==} + '@typescript-eslint/type-utils@8.49.0': + resolution: {integrity: sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -304,8 +295,8 @@ packages: resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.48.1': - resolution: {integrity: sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==} + '@typescript-eslint/types@8.49.0': + resolution: {integrity: sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.46.4': @@ -314,8 +305,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.48.1': - resolution: {integrity: sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==} + '@typescript-eslint/typescript-estree@8.49.0': + resolution: {integrity: sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -327,8 +318,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.48.1': - resolution: {integrity: sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==} + '@typescript-eslint/utils@8.49.0': + resolution: {integrity: sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -338,8 +329,8 @@ packages: resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.48.1': - resolution: {integrity: sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==} + '@typescript-eslint/visitor-keys@8.49.0': + resolution: {integrity: sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} acorn-jsx@5.3.2: @@ -513,10 +504,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -590,10 +577,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-installed-path@4.0.8: - resolution: {integrity: sha512-PmANK1xElIHlHH2tXfOoTnSDUjX1X3GvKK6ZyLbUnSCCn1pADwu67eVWttuPzJWrXDDT2MfO6uAaKILOFfitmA==} - engines: {node: '>=6', npm: '>=5', yarn: '>=1'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -606,14 +589,6 @@ packages: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - global-modules@1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} - - global-prefix@1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -621,9 +596,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -635,10 +607,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} - hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} @@ -659,9 +627,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -686,10 +651,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -794,10 +755,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -854,9 +811,6 @@ packages: peerDependencies: typescript: ^5.2.2 - rbxts-transformer-t-new-new@0.2.0: - resolution: {integrity: sha512-IS3z/SBv78ft/eDMu46boB5eyl2hBAffVoJzUeIzuVBe6z38mz9L/c7OvCvgEX9QGRZI+LmEJA/mgPR6gH7Bsw==} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -869,10 +823,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - resolve-dir@1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} - engines: {node: '>=0.10.0'} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -960,6 +910,13 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + typescript-eslint@8.49.0: + resolution: {integrity: sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + typescript@5.5.3: resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} @@ -984,10 +941,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1176,16 +1129,15 @@ snapshots: '@types/json-schema@7.0.15': {} - '@typescript-eslint/eslint-plugin@8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.48.1(eslint@9.39.1)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.48.1 - '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1)(typescript@5.5.4) - '@typescript-eslint/utils': 8.48.1(eslint@9.39.1)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.48.1 + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/type-utils': 8.49.0(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.49.0 eslint: 9.39.1 - graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.5.4) @@ -1193,12 +1145,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.5.4)': + '@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.48.1 - '@typescript-eslint/types': 8.48.1 - '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.48.1 + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.49.0 debug: 4.4.3 eslint: 9.39.1 typescript: 5.5.4 @@ -1207,17 +1159,17 @@ snapshots: '@typescript-eslint/project-service@8.46.4(typescript@5.5.4)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.5.4) - '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.5.4) + '@typescript-eslint/types': 8.49.0 debug: 4.4.3 typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.48.1(typescript@5.5.4)': + '@typescript-eslint/project-service@8.49.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.5.4) - '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.5.4) + '@typescript-eslint/types': 8.49.0 debug: 4.4.3 typescript: 5.5.4 transitivePeerDependencies: @@ -1228,16 +1180,16 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 - '@typescript-eslint/scope-manager@8.48.1': + '@typescript-eslint/scope-manager@8.49.0': dependencies: - '@typescript-eslint/types': 8.48.1 - '@typescript-eslint/visitor-keys': 8.48.1 + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.5.4)': dependencies: typescript: 5.5.4 - '@typescript-eslint/tsconfig-utils@8.48.1(typescript@5.5.4)': + '@typescript-eslint/tsconfig-utils@8.49.0(typescript@5.5.4)': dependencies: typescript: 5.5.4 @@ -1253,11 +1205,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.48.1(eslint@9.39.1)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.49.0(eslint@9.39.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.48.1 - '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.5.4) - '@typescript-eslint/utils': 8.48.1(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.5.4) debug: 4.4.3 eslint: 9.39.1 ts-api-utils: 2.1.0(typescript@5.5.4) @@ -1267,7 +1219,7 @@ snapshots: '@typescript-eslint/types@8.46.4': {} - '@typescript-eslint/types@8.48.1': {} + '@typescript-eslint/types@8.49.0': {} '@typescript-eslint/typescript-estree@8.46.4(typescript@5.5.4)': dependencies: @@ -1285,12 +1237,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.48.1(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.49.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/project-service': 8.48.1(typescript@5.5.4) - '@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.5.4) - '@typescript-eslint/types': 8.48.1 - '@typescript-eslint/visitor-keys': 8.48.1 + '@typescript-eslint/project-service': 8.49.0(typescript@5.5.4) + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.5.4) + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 debug: 4.4.3 minimatch: 9.0.5 semver: 7.7.3 @@ -1311,12 +1263,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.48.1(eslint@9.39.1)(typescript@5.5.4)': + '@typescript-eslint/utils@8.49.0(eslint@9.39.1)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) - '@typescript-eslint/scope-manager': 8.48.1 - '@typescript-eslint/types': 8.48.1 - '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.5.4) eslint: 9.39.1 typescript: 5.5.4 transitivePeerDependencies: @@ -1327,9 +1279,9 @@ snapshots: '@typescript-eslint/types': 8.46.4 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.48.1': + '@typescript-eslint/visitor-keys@8.49.0': dependencies: - '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/types': 8.49.0 eslint-visitor-keys: 4.2.1 acorn-jsx@5.3.2(acorn@8.15.0): @@ -1446,10 +1398,10 @@ snapshots: optionalDependencies: eslint-config-prettier: 10.1.8(eslint@9.39.1) - eslint-plugin-roblox-ts@1.3.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4): + eslint-plugin-roblox-ts@1.3.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4): dependencies: '@roblox-ts/luau-ast': 2.0.1 - '@typescript-eslint/parser': 8.48.1(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1)(typescript@5.5.4) '@typescript-eslint/type-utils': 8.46.4(eslint@9.39.1)(typescript@5.5.4) '@typescript-eslint/utils': 8.46.4(eslint@9.39.1)(typescript@5.5.4) eslint: 9.39.1 @@ -1523,10 +1475,6 @@ snapshots: esutils@2.0.3: {} - expand-tilde@2.0.2: - dependencies: - homedir-polyfill: 1.0.3 - fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -1594,10 +1542,6 @@ snapshots: get-caller-file@2.0.5: {} - get-installed-path@4.0.8: - dependencies: - global-modules: 1.0.0 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -1613,26 +1557,10 @@ snapshots: minipass: 4.2.8 path-scurry: 1.11.1 - global-modules@1.0.0: - dependencies: - global-prefix: 1.0.2 - is-windows: 1.0.2 - resolve-dir: 1.0.1 - - global-prefix@1.0.2: - dependencies: - expand-tilde: 2.0.2 - homedir-polyfill: 1.0.3 - ini: 1.3.8 - is-windows: 1.0.2 - which: 1.3.1 - globals@14.0.0: {} graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - has-flag@4.0.0: {} hashids@2.3.0: {} @@ -1641,10 +1569,6 @@ snapshots: dependencies: function-bind: 1.1.2 - homedir-polyfill@1.0.3: - dependencies: - parse-passwd: 1.0.0 - hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 @@ -1660,8 +1584,6 @@ snapshots: imurmurhash@0.1.4: {} - ini@1.3.8: {} - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 @@ -1680,8 +1602,6 @@ snapshots: is-number@7.0.0: {} - is-windows@1.0.2: {} - isexe@2.0.0: {} js-yaml@4.1.1: @@ -1782,8 +1702,6 @@ snapshots: dependencies: callsites: 3.1.0 - parse-passwd@1.0.0: {} - path-exists@4.0.0: {} path-key@3.1.1: {} @@ -1831,12 +1749,6 @@ snapshots: dependencies: typescript: 5.5.4 - rbxts-transformer-t-new-new@0.2.0: - dependencies: - '@rbxts/t': 3.2.1 - get-installed-path: 4.0.8 - typescript: 5.5.4 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -1845,11 +1757,6 @@ snapshots: require-from-string@2.0.2: {} - resolve-dir@1.0.1: - dependencies: - expand-tilde: 2.0.2 - global-modules: 1.0.0 - resolve-from@4.0.0: {} resolve@1.22.11: @@ -1937,6 +1844,17 @@ snapshots: dependencies: prelude-ls: 1.2.1 + typescript-eslint@8.49.0(eslint@9.39.1)(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.5.4))(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/parser': 8.49.0(eslint@9.39.1)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.5.4) + eslint: 9.39.1 + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + typescript@5.5.3: {} typescript@5.5.4: {} @@ -1954,10 +1872,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/src/client/controllers/gui.tsx b/src/client/controllers/gui.tsx index 19d8a05..2b963b6 100644 --- a/src/client/controllers/gui.tsx +++ b/src/client/controllers/gui.tsx @@ -12,7 +12,9 @@ class GuiController implements OnStart { StarterGui.SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true); try { StarterGui.SetCore("ResetButtonCallback", true); - } catch (error) {} + } catch (err) { + error(err); + } const root = createRoot(new Instance("Folder")); diff --git a/src/client/gui/players_board/index.tsx b/src/client/gui/players_board/index.tsx index c18d631..9d84424 100644 --- a/src/client/gui/players_board/index.tsx +++ b/src/client/gui/players_board/index.tsx @@ -1,5 +1,5 @@ -import { lerp, useKeyPress, useMotion } from "@rbxts/pretty-react-hooks"; -import React, { Component, ReactNode, StrictMode, useEffect, useState } from "@rbxts/react"; +import { useKeyPress, useMotion } from "@rbxts/pretty-react-hooks"; +import React, { useEffect, useState } from "@rbxts/react"; import { Players } from "@rbxts/services"; import Profile from "./profile"; diff --git a/src/server/components/lobby_door.ts b/src/server/components/lobby_door.ts index 7a74399..1ef4499 100644 --- a/src/server/components/lobby_door.ts +++ b/src/server/components/lobby_door.ts @@ -20,7 +20,7 @@ export class Doors extends BaseComponent<{}, DoorInstance> implements OnStart { } onStart(): void { const doororigin = this.instance.WorldPivot.Position; - while (task.wait(0.5)) { + while (task.wait(0.5) !== 0) { let actived = false; Players.GetPlayers().forEach((player) => { const character = player.Character; diff --git a/src/server/components/random_decoration.ts b/src/server/components/random_decoration.ts index bb8d84d..d8fef76 100644 --- a/src/server/components/random_decoration.ts +++ b/src/server/components/random_decoration.ts @@ -9,7 +9,7 @@ interface Attribute { @Component({ tag: "Random_Decoration", }) -class RandomDecoration extends BaseComponent implements OnStart { +class RandomDecorationComponent extends BaseComponent implements OnStart { onStart(): void { const decoration = this.getRandomDecoration(this.attributes.Type); decoration.Parent = this.instance.Parent; diff --git a/src/server/services/command.ts b/src/server/services/command.ts index 0d47ef3..14dc25c 100644 --- a/src/server/services/command.ts +++ b/src/server/services/command.ts @@ -15,7 +15,7 @@ class CommandsService implements OnStart { ragdollCommand.PrimaryAlias = "/ragdoll"; ragdollCommand.Triggered.Connect((TextSource) => { const player = Players.GetPlayerByUserId(TextSource.UserId); - this.ragdollService.ragdoll(player?.Character!); + this.ragdollService.ragdoll(player!.Character!); }); const unragdollCommand = new TextChatCommand(); @@ -23,7 +23,7 @@ class CommandsService implements OnStart { unragdollCommand.PrimaryAlias = "/unragdoll"; unragdollCommand.Triggered.Connect((TextSource) => { const player = Players.GetPlayerByUserId(TextSource.UserId); - this.ragdollService.ragdoll(player?.Character!); + this.ragdollService.ragdoll(player!.Character!); }); const takeownerCommand = new TextChatCommand(); diff --git a/src/server/services/gameplay/ragdoll.ts b/src/server/services/gameplay/ragdoll.ts index 36da9a1..37eae4e 100644 --- a/src/server/services/gameplay/ragdoll.ts +++ b/src/server/services/gameplay/ragdoll.ts @@ -40,7 +40,7 @@ export class RagdollService implements OnPlayerJoined, OnStart { //#endregion //#region Private functions. - private getRagdollPhysic(character: Model) { + private getRagdollPhysic(character: Model): [Set, Set] { const motors = new Set(); const constraints = new Set(); character.GetDescendants().forEach((descendant) => { @@ -51,7 +51,7 @@ export class RagdollService implements OnPlayerJoined, OnStart { constraints.add(descendant); } }); - return $tuple(motors, constraints); + return [motors, constraints]; } private prepareRagdoll(character: Model) { diff --git a/src/server/services/gameplay/sprint.ts b/src/server/services/gameplay/sprint.ts index e7295dc..a2f9072 100644 --- a/src/server/services/gameplay/sprint.ts +++ b/src/server/services/gameplay/sprint.ts @@ -63,7 +63,9 @@ export class SprintService implements OnStart, OnPlayerJoined { GameplayServerEvents.sprint.connect((player, enabled) => { if (this.timeout.has(player.UserId) && !this.cant_run.has(player.UserId)) return; const character = player.Character; - enabled ? this.is_running.add(player.UserId) : this.is_running.delete(player.UserId); + if (enabled) { + this.is_running.add(player.UserId); + } else this.is_running.delete(player.UserId); if (character) { const humanoid = character.FindFirstChildOfClass("Humanoid"); if (humanoid) { @@ -145,6 +147,8 @@ export class SprintService implements OnStart, OnPlayerJoined { setRunningInterdiction(player: Player, enabled: boolean) { this.setRunning(player, !enabled); - enabled ? this.cant_run.add(player.UserId) : this.cant_run.delete(player.UserId); + if (enabled) { + this.cant_run.add(player.UserId); + } else this.cant_run.delete(player.UserId); } } diff --git a/src/server/services/stats.ts b/src/server/services/stats.ts index 04c5954..50db4e4 100644 --- a/src/server/services/stats.ts +++ b/src/server/services/stats.ts @@ -14,7 +14,7 @@ class StatsService implements OnPlayerJoined, OnStart, OnPlayerQuit { ProfileServerEvents.getPlayerStartTime.setCallback((_, playerId) => { const playedtime = this.getPlayerPlayedTime(playerId); - return playedtime!!; + return playedtime!; }); } @@ -24,7 +24,7 @@ class StatsService implements OnPlayerJoined, OnStart, OnPlayerQuit { if (!t.optional(t.number)(value)) throw `Bad Data in DataBase for ${player.UserId}`; - if (!value) { + if (value === undefined) { this.firstJoinStore.SetAsync(playerId, 0); } @@ -36,7 +36,7 @@ class StatsService implements OnPlayerJoined, OnStart, OnPlayerQuit { } onPlayerQuit(player: Player): void { - const [value, time] = this.firstJoinStoreCache.get(player.UserId)!!; + const [value, time] = this.firstJoinStoreCache.get(player.UserId)!; const t = value + os.time() - time; this.firstJoinStore.SetAsync(tostring(player.UserId), t, [player.UserId]); } diff --git a/src/shared/character/builder.ts b/src/shared/character/builder.ts index 7a5d7ca..cd230ce 100644 --- a/src/shared/character/builder.ts +++ b/src/shared/character/builder.ts @@ -1,6 +1,5 @@ // TODO -import { TupleType } from "typescript"; import { AbilityType } from "./main"; /** diff --git a/tsconfig.json b/tsconfig.json index cf996af..2df0d52 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,10 +15,7 @@ "moduleDetection": "force", "strict": true, "target": "ESNext", - "typeRoots": [ - "node_modules/@rbxts", - "node_modules/@flamework", - ], + "typeRoots": ["node_modules/@rbxts", "node_modules/@flamework"], // configurable "rootDir": "src", "outDir": "out", @@ -27,7 +24,7 @@ "tsBuildInfoFile": "out/tsconfig.tsbuildinfo", "plugins": [ { - "transform": "rbxts-transformer-flamework", + "transform": "rbxts-transformer-flamework" }, { "transform": "rbxts-transformer-instances" @@ -38,8 +35,5 @@ ], "removeComments": true }, - "include": [ - "src/**/*", - "node_modules/rbxts-transformer-instances" - ] -} \ No newline at end of file + "include": ["src/**/*", "node_modules/rbxts-transformer-instances"] +}