diff --git a/package.json b/package.json index b3c956a..c74f892 100644 --- a/package.json +++ b/package.json @@ -11,16 +11,18 @@ "author": "krypek", "license": "GPLv3", "devDependencies": { - "@types/jquery": "^3.5.29", - "@types/node": "^20.4.4", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@types/jquery": "^3.5.30", + "@types/node": "^11.15.54", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "array-flat-polyfill": "^1.0.1", "cc-blitzkrieg": "github:krypciak/cc-blitzkrieg", "cc-map-util": "github:krypciak/cc-map-util", "cc-vim": "github:krypciak/cc-vim", - "esbuild": "^0.18.15", + "ccmodmanager": "github:CCDirectLink/CCModManager", + "esbuild": "^0.18.20", "nax-ccuilib": "github:conorlawton/nax-ccuilib", - "typescript": "^5.2.2", + "typescript": "^5.5.4", "ultimate-crosscode-typedefs": "github:krypciak/ultimate-crosscode-typedefs" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b2511a..5b59a35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,17 +9,20 @@ importers: .: devDependencies: '@types/jquery': - specifier: ^3.5.29 - version: 3.5.29 + specifier: ^3.5.30 + version: 3.5.30 '@types/node': - specifier: ^20.4.4 - version: 20.11.25 + specifier: ^11.15.54 + version: 11.15.54 '@typescript-eslint/eslint-plugin': - specifier: ^6.2.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/parser': - specifier: ^6.2.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.4.2) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.5.4) + array-flat-polyfill: + specifier: ^1.0.1 + version: 1.0.1 cc-blitzkrieg: specifier: github:krypciak/cc-blitzkrieg version: https://codeload.github.com/krypciak/cc-blitzkrieg/tar.gz/be28d62634ffe5b797046c49846fb821a8d35c6d @@ -28,26 +31,25 @@ importers: version: https://codeload.github.com/krypciak/cc-map-util/tar.gz/256929a9a8b77021a953c92d048832ee789839f5 cc-vim: specifier: github:krypciak/cc-vim - version: https://codeload.github.com/krypciak/cc-vim/tar.gz/50ff12de740b415192dc394673dd218365420d62 + version: https://codeload.github.com/krypciak/cc-vim/tar.gz/e79fa2e909fc89904535efa5412a4ec0d62b8eb7 + ccmodmanager: + specifier: github:CCDirectLink/CCModManager + version: https://codeload.github.com/CCDirectLink/CCModManager/tar.gz/46a67246711879ecdaf620e670b86afdc2e6d5a2 esbuild: - specifier: ^0.18.15 + specifier: ^0.18.20 version: 0.18.20 nax-ccuilib: specifier: github:conorlawton/nax-ccuilib - version: https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/2e7c46fac5a086109c46cddc6bebd476f1cc233f + version: https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/27d04077163f304e2c80ed269d7dae929e9e91f3 typescript: - specifier: ^5.2.2 - version: 5.4.2 + specifier: ^5.5.4 + version: 5.5.4 ultimate-crosscode-typedefs: specifier: github:krypciak/ultimate-crosscode-typedefs version: https://codeload.github.com/krypciak/ultimate-crosscode-typedefs/tar.gz/de65b30de8d80ef648fa36933f1e19583a5b9c01 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -186,8 +188,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -207,8 +209,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead '@nodelib/fs.scandir@2.1.5': @@ -226,8 +228,8 @@ packages: '@types/jquery@1.10.45': resolution: {integrity: sha512-JvoVtPbu1wrcOldn5gvuyJqr7DLX6I657N68Fqj5S7AUutdYZqabQjfP7dY6Gee7/Afo1uajwcORVlQfnsjkLQ==} - '@types/jquery@3.5.29': - resolution: {integrity: sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==} + '@types/jquery@3.5.30': + resolution: {integrity: sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -236,8 +238,8 @@ packages: resolution: {integrity: sha512-TezXjmf3lj+zQ651r6hPqvSScqBLvyPI9FxdXBqpEwBijNGQ2NXpaFW/7joGzveYkKQUil7iiDHLo6LV71Pc0A==} deprecated: This is a stub types definition. jszip provides its own type definitions, so you do not need this installed. - '@types/node@20.11.25': - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + '@types/node@11.15.54': + resolution: {integrity: sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==} '@types/semver@6.2.7': resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==} @@ -314,8 +316,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -333,6 +335,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-flat-polyfill@1.0.1: + resolution: {integrity: sha512-hfJmKupmQN0lwi0xG6FQ5U8Rd97RnIERplymOv/qpq8AoNKPPAnxJadjFA23FNWm88wykh9HmpLJUUwUtNU/iw==} + engines: {node: '>=6.0.0'} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -346,8 +352,8 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} callsites@3.1.0: @@ -362,9 +368,13 @@ packages: resolution: {tarball: https://codeload.github.com/krypciak/cc-map-util/tar.gz/256929a9a8b77021a953c92d048832ee789839f5} version: 1.0.0 - cc-vim@https://codeload.github.com/krypciak/cc-vim/tar.gz/50ff12de740b415192dc394673dd218365420d62: - resolution: {tarball: https://codeload.github.com/krypciak/cc-vim/tar.gz/50ff12de740b415192dc394673dd218365420d62} - version: 1.5.9 + cc-vim@https://codeload.github.com/krypciak/cc-vim/tar.gz/e79fa2e909fc89904535efa5412a4ec0d62b8eb7: + resolution: {tarball: https://codeload.github.com/krypciak/cc-vim/tar.gz/e79fa2e909fc89904535efa5412a4ec0d62b8eb7} + version: 1.6.2 + + ccmodmanager@https://codeload.github.com/CCDirectLink/CCModManager/tar.gz/46a67246711879ecdaf620e670b86afdc2e6d5a2: + resolution: {tarball: https://codeload.github.com/CCDirectLink/CCModManager/tar.gz/46a67246711879ecdaf620e670b86afdc2e6d5a2} + version: 0.9.20 chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -387,8 +397,8 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -433,8 +443,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -469,8 +479,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@5.0.0: @@ -591,16 +601,12 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} minimatch@3.1.2: @@ -616,15 +622,15 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nax-ccuilib@https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/2e7c46fac5a086109c46cddc6bebd476f1cc233f: - resolution: {tarball: https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/2e7c46fac5a086109c46cddc6bebd476f1cc233f} - version: 1.2.3 + nax-ccuilib@https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/27d04077163f304e2c80ed269d7dae929e9e91f3: + resolution: {tarball: https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/27d04077163f304e2c80ed269d7dae929e9e91f3} + version: 1.2.4 once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: @@ -698,8 +704,8 @@ packages: safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true @@ -754,8 +760,8 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -764,9 +770,6 @@ packages: version: 0.0.1 engines: {node: '>=10.0.0'} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -778,20 +781,19 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@esbuild/android-arm64@0.18.20': optional: true @@ -863,12 +865,12 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.11.0': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.6 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -883,15 +885,15 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/object-schema@2.0.3': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -907,7 +909,7 @@ snapshots: '@types/jquery@1.10.45': {} - '@types/jquery@3.5.29': + '@types/jquery@3.5.30': dependencies: '@types/sizzle': 2.3.8 @@ -917,9 +919,7 @@ snapshots: dependencies: jszip: 3.10.1 - '@types/node@20.11.25': - dependencies: - undici-types: 5.26.5 + '@types/node@11.15.54': {} '@types/semver@6.2.7': {} @@ -927,36 +927,36 @@ snapshots: '@types/sizzle@2.3.8': {} - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.6 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.6 eslint: 8.57.0 optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -965,45 +965,45 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - debug: 4.3.4 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.4) + debug: 4.3.6 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.4) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript @@ -1015,11 +1015,11 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.11.3 + acorn: 8.12.1 - acorn@8.11.3: {} + acorn@8.12.1: {} ajv@6.12.6: dependencies: @@ -1036,6 +1036,8 @@ snapshots: argparse@2.0.1: {} + array-flat-polyfill@1.0.1: {} + array-union@2.1.0: {} balanced-match@1.0.2: {} @@ -1049,9 +1051,9 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 callsites@3.1.0: {} @@ -1061,7 +1063,9 @@ snapshots: cc-map-util@https://codeload.github.com/krypciak/cc-map-util/tar.gz/256929a9a8b77021a953c92d048832ee789839f5: {} - cc-vim@https://codeload.github.com/krypciak/cc-vim/tar.gz/50ff12de740b415192dc394673dd218365420d62: {} + cc-vim@https://codeload.github.com/krypciak/cc-vim/tar.gz/e79fa2e909fc89904535efa5412a4ec0d62b8eb7: {} + + ccmodmanager@https://codeload.github.com/CCDirectLink/CCModManager/tar.gz/46a67246711879ecdaf620e670b86afdc2e6d5a2: {} chalk@4.1.2: dependencies: @@ -1084,7 +1088,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.3.4: + debug@4.3.6: dependencies: ms: 2.1.2 @@ -1135,7 +1139,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -1145,13 +1149,13 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.6 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -1169,7 +1173,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -1177,11 +1181,11 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -1201,7 +1205,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} @@ -1215,7 +1219,7 @@ snapshots: dependencies: flat-cache: 3.2.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -1336,15 +1340,11 @@ snapshots: lodash.merge@4.6.2: {} - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - merge2@1.4.1: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 minimatch@3.1.2: @@ -1359,20 +1359,20 @@ snapshots: natural-compare@1.4.0: {} - nax-ccuilib@https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/2e7c46fac5a086109c46cddc6bebd476f1cc233f: {} + nax-ccuilib@https://codeload.github.com/conorlawton/nax-ccuilib/tar.gz/27d04077163f304e2c80ed269d7dae929e9e91f3: {} once@1.4.0: dependencies: wrappy: 1.0.2 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@3.1.0: dependencies: @@ -1430,9 +1430,7 @@ snapshots: safe-buffer@5.1.2: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.3: {} setimmediate@1.0.5: {} @@ -1464,9 +1462,9 @@ snapshots: dependencies: is-number: 7.0.0 - ts-api-utils@1.3.0(typescript@5.4.2): + ts-api-utils@1.3.0(typescript@5.5.4): dependencies: - typescript: 5.4.2 + typescript: 5.5.4 type-check@0.4.0: dependencies: @@ -1474,16 +1472,14 @@ snapshots: type-fest@0.20.2: {} - typescript@5.4.2: {} + typescript@5.5.4: {} ultimate-crosscode-typedefs@https://codeload.github.com/krypciak/ultimate-crosscode-typedefs/tar.gz/de65b30de8d80ef648fa36933f1e19583a5b9c01: dependencies: '@types/jquery': 1.10.45 - '@types/node': 20.11.25 + '@types/node': 11.15.54 '@types/semver': 6.2.7 - undici-types@5.26.5: {} - uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -1494,8 +1490,8 @@ snapshots: dependencies: isexe: 2.0.0 - wrappy@1.0.2: {} + word-wrap@1.2.5: {} - yallist@4.0.0: {} + wrappy@1.0.2: {} yocto-queue@0.1.0: {} diff --git a/src/dungeon/configs/simple.ts b/src/dungeon/configs/simple.ts index 246b20b..7eeed0f 100644 --- a/src/dungeon/configs/simple.ts +++ b/src/dungeon/configs/simple.ts @@ -15,7 +15,7 @@ export class DungeonConfigSimpleFactory implements DungeonConfigFactory { this.seed = seed this.bPool = [] - const dngGenConfig: DungeonGenerateConfig = this.armverycomplex() + const dngGenConfig: DungeonGenerateConfig = this.armsimple() // this.armverycomplex() return dngGenConfig } diff --git a/src/dungeon/dungeon-builder.ts b/src/dungeon/dungeon-builder.ts index c3616de..52385e6 100644 --- a/src/dungeon/dungeon-builder.ts +++ b/src/dungeon/dungeon-builder.ts @@ -17,8 +17,8 @@ export class DungeonBuilder { async build( id: string, seed: string, - // configFactory: DungeonConfigFactory = new DungeonConfigSimpleFactory() - configFactory: DungeonConfigFactory = new DungeonConfigMainFactory() + configFactory: DungeonConfigFactory = new DungeonConfigSimpleFactory() + // configFactory: DungeonConfigFactory = new DungeonConfigMainFactory() ) { if (seed === '') { Math.seedrandomSeed(Math.random().toString()) diff --git a/src/dungeon/dungeon-paths.ts b/src/dungeon/dungeon-paths.ts index c7a0a08..dc3114a 100644 --- a/src/dungeon/dungeon-paths.ts +++ b/src/dungeon/dungeon-paths.ts @@ -9,6 +9,7 @@ interface DungeonSaveConfig { areaDbEntries: Record sels: Record } +const fs: typeof import('fs') = (0, eval)("require('fs')") export class DungeonPaths { static baseName: string = 'dnggen' @@ -82,13 +83,26 @@ export class DungeonPaths { } clearDir() { - blitzkrieg.FsUtil.mkdirsClear(this.baseDir) + const path = this.baseDir + clear(path) + function clear(path: string) { + fs.readdirSync(path).forEach((file: string) => { + const filePath = `${path}/${file}` + + if (fs.lstatSync(filePath).isDirectory()) { + clear(filePath) + fs.rmdirSync(filePath) + } else { + fs.unlinkSync(filePath) + } + }) + } } saveMap(builder: MapBuilder): Promise { assert(builder.rpv) console.log('map: ', ig.copy(builder.rpv.map)) - blitzkrieg.FsUtil.mkdirs(`${this.mapsDir}/${builder.pathParent}`) + fs.mkdirSync(`${this.mapsDir}/${builder.pathParent}`, { recursive: true }) const path = `${this.mapsDir}/${builder.path}.json` const gamePath = `${this.mapsDirGame}/${builder.path}.json` @@ -100,22 +114,22 @@ export class DungeonPaths { assert(builder.builtArea, 'called saveToFile() before finalizing build') assert(builder.dbEntry, 'area db entry not generated') - blitzkrieg.FsUtil.mkdirs(this.areaDir) + fs.mkdirSync(this.areaDir, { recursive: true }) const path = this.areaFile this.config.paths[this.areaFileGame] = path this.config.areaDbEntries[builder.areaInfo.name] = builder.dbEntry - blitzkrieg.FsUtil.writeFileSync(path, builder.builtArea) + fs.writeFileSync(path, JSON.stringify(builder.builtArea)) } saveConfig() { - blitzkrieg.FsUtil.writeFileSync(this.configFile, this.config) + fs.writeFileSync(this.configFile, JSON.stringify(this.config)) } loadConfig(): boolean { if (!blitzkrieg.FsUtil.doesFileExist(this.configFile)) { return false } - this.config = JSON.parse(blitzkrieg.FsUtil.readFileSync(this.configFile)) + this.config = JSON.parse(fs.readFileSync(this.configFile, 'utf8')) return true } @@ -142,7 +156,7 @@ export class DungeonPaths { registerSelections(load: boolean = false) { for (const selEntry of Object.entries(this.config.sels)) { const [poolName, path] = selEntry as [keyof typeof blitzkrieg.sels, string] - const pool: SelectionManager = blitzkrieg.sels[poolName] as SelectionManager + const pool = blitzkrieg.sels[poolName] as SelectionManager while (pool.jsonFiles.includes(path)) { const indexToDel: number = pool.jsonFiles.indexOf(path) Object.keys(pool.selMap).forEach(k => { @@ -166,7 +180,7 @@ export class DungeonPaths { if (index === undefined) { throw new Error('pool name doesnt exist: ' + poolName) } - const pool: SelectionManager = blitzkrieg.sels[poolName] as SelectionManager + const pool = blitzkrieg.sels[poolName] as SelectionManager pool.setMapEntry(sel.mapName, new blitzkrieg.SelectionMapEntry([sel], index)) } } diff --git a/src/plugin.ts b/src/plugin.ts index ff0a753..4eb9945 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -5,6 +5,7 @@ import { poststartGameStart, prestartGameStart, startDnggenGame } from '@root/ga import { DungeonPaths } from '@root/dungeon/dungeon-paths' import { Mod1 } from 'cc-blitzkrieg/src/types' import { godlikeStats } from './util/misc' +import './util/modify-prototypes' declare global { const dnggen: DngGen diff --git a/src/room/puzzle-room.ts b/src/room/puzzle-room.ts index 125bb94..ecc6583 100644 --- a/src/room/puzzle-room.ts +++ b/src/room/puzzle-room.ts @@ -16,7 +16,7 @@ import { MapBuilder, RoomPlaceVars } from '@root/room/map-builder' import { ArmEnd, ArmRuntime } from '@root/dungeon/dungeon-arm' import { ItemHandler } from './item-handler' import { setToClosestSelSide } from '@root/util/misc' -import type { PuzzleSelection, PuzzleRoomType, PuzzleCompletionType } from 'cc-blitzkrieg/src/puzzle-selection' +import { PuzzleSelection, PuzzleRoomType, PuzzleCompletionType } from 'cc-blitzkrieg/src/puzzle-selection' import { EntityRect, MapRect, Rect, generateUniqueId } from 'cc-map-util/src/rect' interface PuzzleData { @@ -55,7 +55,7 @@ export class PuzzleRoom extends Room { /* entry is from blitzkrieg puzzle list */ if (entry.fileIndex == 0 && entry.sels.length > 0) { const filtered: Readonly[] = entry.sels - .filter(sel => sel.data.type != 'dis') + .filter(sel => sel.data.type != PuzzleRoomType.Dis) .map(e => Object.freeze(e as PuzzleSelection)) puzzleMap.set(mapName, filtered) for (const sel of filtered) { @@ -121,7 +121,9 @@ export class PuzzleRoom extends Room { let solveConditionUnique: string | undefined switch (puzzle.completion) { case blitzkrieg.PuzzleCompletionType.Normal: - solveCondition = blitzkrieg.PuzzleSelectionManager.getPuzzleSolveCondition(puzzle.sel) + const res = blitzkrieg.PuzzleSelectionManager.getPuzzleSolveCondition(puzzle.sel) + if (!res) throw new Error('no puzzle solution found!') + solveCondition = res[0] break case blitzkrieg.PuzzleCompletionType.GetTo: if (puzzle.roomType == blitzkrieg.PuzzleRoomType.WholeRoom) { diff --git a/src/room/room.ts b/src/room/room.ts index c5bb293..f7f7744 100644 --- a/src/room/room.ts +++ b/src/room/room.ts @@ -218,9 +218,7 @@ export class Room extends MapRect { arr.push(this) this.ios.forEach(io => { // @ts-expect-error cant import RoomIOTunnel because of a circular dependency so im doing this - if (io.tunnel) { - arr.push(io.tunnel) - } + if (io.tunnel) arr.push(io.tunnel) }) } diff --git a/src/util/entity.ts b/src/util/entity.ts index e983c7b..287a596 100644 --- a/src/util/entity.ts +++ b/src/util/entity.ts @@ -479,7 +479,7 @@ export class MapBallChanger implements MapEntity { mapId: mapId++, changerType: { type: "CHANGE_DIR", - options: { dir: DirUtil.convertToStringFace8(dir) }, + settings: { dir: DirUtil.convertToStringFace8(dir) }, }, }) } @@ -489,8 +489,8 @@ export class MapBallChanger implements MapEntity { name, mapId: mapId++, changerType: { - type: "CHANGE_SPEED" - options: { factor }, + type: "CHANGE_SPEED", + settings: { factor }, }, }) } diff --git a/src/util/modify-prototypes.ts b/src/util/modify-prototypes.ts new file mode 100644 index 0000000..03583ec --- /dev/null +++ b/src/util/modify-prototypes.ts @@ -0,0 +1,35 @@ +/* in preload */ +export {} +declare global { + interface Object { + fromEntries(entries: [K, T][]): Record + } + interface Array { + flat(): T extends Array ? T : T[] + flatMap(callback: (value: T, index: number, array: T[]) => U | U[], thisArg?: this | undefined): U[] + } +} + +if (!Object.fromEntries) { + Object.fromEntries = function (entries: [K, T][]): Record { + return entries.reduce( + (acc: Record, e: [K, T]) => { + acc[e[0]] = e[1] + return acc + }, + {} as Record + ) + } +} + +if (!Array.prototype.flat) { + Array.prototype.flat = function (this: T[][]): T[] { + return this.reduce((acc, val) => acc.concat(val), []) + } +} + +if (!Array.prototype.flatMap) { + Array.prototype.flatMap = function (callback, ...args) { + return this.map(callback, ...args).flat() + } +} diff --git a/tsconfig.json b/tsconfig.json index f15c8fc..9f33da8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,26 +6,25 @@ "node_modules/cc-vim/src/global.d.ts", ], "compilerOptions": { - "target": "ES2018", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - - "module": "commonjs", /* Specify what module code is generated. */ - "rootDir": "./src/", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - "baseUrl": "./src/", /* Specify the base directory to resolve non-relative module names. */ - "paths": { /* Specify a set of entries that re-map imports to additional lookup locations. */ - "@root/*": ["*"], - "cc-map-util/*": ["../node_modules/cc-map-util/src/*"], - }, - - "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - - "noEmit": true, /* Disable emitting files from a compilation. */ - - "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - "strict": true, /* Enable all strict type-checking options. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ + "target": "ES2018", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "module": "commonjs", /* Specify what module code is generated. */ + "rootDir": "./src/", /* Specify the root folder within your source files. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "baseUrl": "./src/", /* Specify the base directory to resolve non-relative module names. */ + "paths": { /* Specify a set of entries that re-map imports to additional lookup locations. */ + "@root/*": [ + "*" + ], + "cc-map-util/*": [ + "../node_modules/cc-map-util/src/*" + ], + }, + "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + "noEmit": true, /* Disable emitting files from a compilation. */ + "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + "strict": true, /* Enable all strict type-checking options. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ } }