updated to typescript 5.7 stable release

main
Inga 🏳‍🌈 1 week ago
parent c0c549472e
commit 9facdf7a10
  1. 16
      README.md
  2. 234
      package-lock.json
  3. 4
      package.json

@ -265,18 +265,14 @@ Listed in `package.json`, installed with `npm ci`, not vendored.
#### Dev dependencies (build/compile-time)
* `tap`, a test framework.
* `typescript`, because it's so much easier to write even small projects in TS than in JS
(fixed at 5.7-rc because
(1) for code to run in browser as-is without a bundler, I'm using ES modules;
(2) for ts-node (used by node-tap) to work properly, imports need to be with `.ts` extension;
(3) for frontend to work, imports need to be with compiled `.js` extension,
and rewriting import extensions was only implemented in TS 5.7:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-rc/#path-rewriting-for-relative-paths
which is not yet stable).
* `@tsconfig/strictest`, to avoid
* `typescript`, because it's so much easier to write even small projects in TS than in JS.
* `@tsconfig/strictest`, to avoid having to enable all the strict TS compiler options manually.
* `eslint`, for linting.
* `prettier`, to ensure common code style.
* `typescript-eslint`, for type-aware and type-checked linting.
* `typescript-eslint`, for type-aware and type-checked linting
(fixed at 8.15.1-alpha.7 because we need TypeScript 5.7 for `rewriteRelativeImportExtensions` feature,
and TS 5.7 support is merged but not yet released in `typescript-eslint`:
https://github.com/typescript-eslint/typescript-eslint/pull/10372).
* `copyfiles`, to copy static assets to the `dist` directory so that they can be next to compiled JS for frontend.
* `rimraf`, to cleanup `dist` directory before building.

234
package-lock.json generated

@ -27,8 +27,8 @@
"prettier": "^3.3.3",
"rimraf": "^6.0.1",
"tap": "^21.0.1",
"typescript": "^5.7.1-rc",
"typescript-eslint": "^8.15.0"
"typescript": "^5.7.2",
"typescript-eslint": "^8.15.1-alpha.7"
}
},
"node_modules/@alcalzone/ansi-tokenize": {
@ -1484,21 +1484,6 @@
"node": ">=0.3.1"
}
},
"node_modules/@tapjs/typescript/node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/@tapjs/worker": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-4.0.0.tgz",
@ -1748,17 +1733,17 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz",
"integrity": "sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.1-alpha.7.tgz",
"integrity": "sha512-IY5QS/z/WBFp3nzoGA649bMiQ7PuMTBOAdSJDvJqfmZZw+GY+kjpx0OQbACLhLYNT7xUmUdEaYgiqQEULxJarg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.15.0",
"@typescript-eslint/type-utils": "8.15.0",
"@typescript-eslint/utils": "8.15.0",
"@typescript-eslint/visitor-keys": "8.15.0",
"@typescript-eslint/scope-manager": "8.15.1-alpha.7",
"@typescript-eslint/type-utils": "8.15.1-alpha.7",
"@typescript-eslint/utils": "8.15.1-alpha.7",
"@typescript-eslint/visitor-keys": "8.15.1-alpha.7",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@ -1772,7 +1757,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
"@typescript-eslint/parser": "8.15.1-alpha.7",
"eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
@ -1781,45 +1766,17 @@
}
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz",
"integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16"
},
"peerDependencies": {
"typescript": ">=4.2.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/@typescript-eslint/parser": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz",
"integrity": "sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.1-alpha.7.tgz",
"integrity": "sha512-99pljqKN9GbndCBIphuMBuAcLBrU0AUYjinK8Hcc00jsucZn1SU07c7WPBTD7OJdNpv9PBoCDASxnQbb5Nd9FQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/scope-manager": "8.15.0",
"@typescript-eslint/types": "8.15.0",
"@typescript-eslint/typescript-estree": "8.15.0",
"@typescript-eslint/visitor-keys": "8.15.0",
"@typescript-eslint/scope-manager": "8.15.1-alpha.7",
"@typescript-eslint/types": "8.15.1-alpha.7",
"@typescript-eslint/typescript-estree": "8.15.1-alpha.7",
"@typescript-eslint/visitor-keys": "8.15.1-alpha.7",
"debug": "^4.3.4"
},
"engines": {
@ -1839,14 +1796,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz",
"integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.1-alpha.7.tgz",
"integrity": "sha512-eI2ir0q2v98/t33eFb9TMZoBVCVfZJTS+XplQOYYPElyRMnl/1KQfeojPHYYrj67uyWqwcjAS7y7J5FUu2/yzg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.15.0",
"@typescript-eslint/visitor-keys": "8.15.0"
"@typescript-eslint/types": "8.15.1-alpha.7",
"@typescript-eslint/visitor-keys": "8.15.1-alpha.7"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -1857,14 +1814,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz",
"integrity": "sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.1-alpha.7.tgz",
"integrity": "sha512-EA+mZphbvVxCI5zEgS7Rsf5NCVJZUNX7mZo2M1Je28TKdnQ9FbElavMwWH+oYKaA0zyy/nAsyH1bd7g6W/rUbg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/typescript-estree": "8.15.0",
"@typescript-eslint/utils": "8.15.0",
"@typescript-eslint/typescript-estree": "8.15.1-alpha.7",
"@typescript-eslint/utils": "8.15.1-alpha.7",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@ -1884,38 +1841,10 @@
}
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz",
"integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16"
},
"peerDependencies": {
"typescript": ">=4.2.0"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/@typescript-eslint/types": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz",
"integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.1-alpha.7.tgz",
"integrity": "sha512-jMucfRt+nod/87HtijK0Q4d5ijTl+FHIWhNNBegw5JOE0f0s1YBpGUeZIqQ5uSLuMBbnvMi/wUIe2AsbIip/JQ==",
"dev": true,
"license": "MIT",
"engines": {
@ -1927,14 +1856,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz",
"integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.1-alpha.7.tgz",
"integrity": "sha512-GpfQgWVaXFKIdVuYVPsX88au4WsZMLRh7FWce3ewCMleZL25KLnkBvDVKEPkyC5euI4ucZfYt5O6gVb72AKXeQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "8.15.0",
"@typescript-eslint/visitor-keys": "8.15.0",
"@typescript-eslint/types": "8.15.1-alpha.7",
"@typescript-eslint/visitor-keys": "8.15.1-alpha.7",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@ -1981,45 +1910,17 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/ts-api-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz",
"integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16"
},
"peerDependencies": {
"typescript": ">=4.2.0"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/@typescript-eslint/utils": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz",
"integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.1-alpha.7.tgz",
"integrity": "sha512-45Y+65c3MZBeD/Uz80gu5aW0hTn47EL0e5/AGFU717Hi+Dyb9xeTMFbjwHuGdtLOliRVBuCkw1/94cRNz1IJVA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.15.0",
"@typescript-eslint/types": "8.15.0",
"@typescript-eslint/typescript-estree": "8.15.0"
"@typescript-eslint/scope-manager": "8.15.1-alpha.7",
"@typescript-eslint/types": "8.15.1-alpha.7",
"@typescript-eslint/typescript-estree": "8.15.1-alpha.7"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -2038,13 +1939,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz",
"integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.1-alpha.7.tgz",
"integrity": "sha512-hSqFgLEM7yOSYfHFqLZ5bKUY9NsriiKZ0+eEfvfPfFyMCe1VugDsrCdZNW3HnJlRzXD8dQmWle29HalKQnpBaw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.15.0",
"@typescript-eslint/types": "8.15.1-alpha.7",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@ -6933,6 +6834,19 @@
"node": ">= 8"
}
},
"node_modules/ts-api-utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.1.tgz",
"integrity": "sha512-5RU2/lxTA3YUZxju61HO2U6EoZLvBLtmV2mbTvqyu4a/7s7RmJPT+1YekhMVsQhznRWk/czIwDUg+V8Q9ZuG4w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16"
},
"peerDependencies": {
"typescript": ">=4.2.0"
}
},
"node_modules/tshy": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/tshy/-/tshy-3.0.2.tgz",
@ -6998,20 +6912,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/tshy/node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@ -7074,9 +6974,9 @@
}
},
"node_modules/typescript": {
"version": "5.7.1-rc",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.1-rc.tgz",
"integrity": "sha512-d6m+HT78uZtyUbXbUyIvuJ6kXCTSJEfy+2pZSUwt9d6JZ0kOMNDwhIILfV5FnaxMwVa48Yfw4sK0ISC4Qyq5tw==",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
"integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@ -7088,15 +6988,15 @@
}
},
"node_modules/typescript-eslint": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.15.0.tgz",
"integrity": "sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==",
"version": "8.15.1-alpha.7",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.15.1-alpha.7.tgz",
"integrity": "sha512-uvmYWxq6LZqE/QUI1AoBtArxRFxA8gbks/fYqoCkYbOgm9O4aS39sdlE8FuxfPayks9fSiJgFsVHiRt8kbxQvg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "8.15.0",
"@typescript-eslint/parser": "8.15.0",
"@typescript-eslint/utils": "8.15.0"
"@typescript-eslint/eslint-plugin": "8.15.1-alpha.7",
"@typescript-eslint/parser": "8.15.1-alpha.7",
"@typescript-eslint/utils": "8.15.1-alpha.7"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"

@ -31,8 +31,8 @@
"prettier": "^3.3.3",
"rimraf": "^6.0.1",
"tap": "^21.0.1",
"typescript": "^5.7.1-rc",
"typescript-eslint": "^8.15.0"
"typescript": "^5.7.2",
"typescript-eslint": "^8.15.1-alpha.7"
},
"dependencies": {
"body-parser": "^1.20.3",

Loading…
Cancel
Save