Conversation
The TypeDoc sites on ideal-postcodes.dev no longer resolve. Point documentation links at the core-interface README and source files on GitHub instead.
CI failed in "Set up job" because GitHub auto-fails workflows that use actions/cache@v1. Replace the cache step with setup-node's built-in npm cache, bump checkout and setup-node to v7, and swap the end-of-life Node 10/12/14 matrix for 22 and 24. The release job now checks out full history without persisted credentials: checkout v1 fetched everything, later majors fetch a single commit and keep GITHUB_TOKEN in git config, which breaks semantic-release tag discovery and its push with GH_TOKEN.
Move to TypeScript 6.0.3, mocha 12, chai 6, sinon 22, nock 14 and nyc 18, all pinned exactly. TypeScript 7 is held back because ts-node and typescript-eslint only support the 6.x compiler API. TypeScript 6 needs an explicit rootDir and types list, and flags the ES5 target inherited from @cablanchard/tsconfig as deprecated. ignoreDeprecations keeps the published build as ES5 CommonJS so the output shape does not change. Drop unused dev dependencies: @types/got, @types/nock and @types/prettier are stubs for packages that ship their own types, and api-fixtures and api-typings are not referenced.
ESLint 10 only reads flat config and @cablanchard/eslint-config is an eslintrc preset built on typescript-eslint 3, so port its rules into eslint.config.js on typescript-eslint 8. The removed ban-types rule is replaced by its three successors. Also update prettier to 3.9.7, drop its editorconfig key (a CLI flag, not a config option, and on by default) and remove the leftover tslint.json.
The codecov npm uploader is deprecated and no longer maintained. Keep the coverage script for generating the lcov report and hand the upload to codecov/codecov-action.
semantic-release 25 needs Node 22.14+ or 24.10+, which the release job now provides. @cablanchard/semantic-release 2.0.0 carries the matching plugin majors; the plugin list, tag format and release commit message are unchanged.
got before 11.8.5 allows a redirect to a UNIX socket (GHSA-pfrx-2q88-qq97). Pin 11.8.6, the last 11.x release, so installs cannot resolve a vulnerable version. got 12 and later are ESM only and would break the CommonJS build.
Rebuild package-lock.json from scratch to drop years of stale transitive resolutions. On a clean install ESLint 10 hoists keyv 5 to the top of node_modules, so got 11's @types/cacheable-request resolves keyv 5 typings, which have no Store export, and tsc fails. Declaring keyv 4.5.4 as a dev dependency keeps the version got uses at the root. Dev-only: consumers are unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
*.ideal-postcodes.devhost (the retired TypeDoc sites) is NXDOMAIN, so each documentation link in the README was deadlib/agent.tsdocs:, but this PR also carries afix(deps):commit (see below), so merging publishes a patch release, which also refreshes the README on npmCI and toolchain
actions/cache@v1. Caching now usessetup-node's built-in npm cache;checkoutandsetup-nodeare on v7; install usesnpm cipersist-credentials: false, which semantic-release needs on currentcheckoutcodecovnpm uploader tocodecov/codecov-action@v7@cablanchard/semantic-release2.0.0@cablanchard/eslint-configported to a flateslint.config.js;tslint.jsonand unused dev dependencies removedtsconfig.jsonsetsrootDir,typesandignoreDeprecationsfor TypeScript 6. Build output is still ES5 CommonJS with the same fileskeyv4.5.4 added as a dev dependency so got 11's typings resolve on a clean installgotpinned to 11.8.6 (was~11.8.0) to clear GHSA-pfrx-2q88-qq97. This is afix(deps):commit, so merging tomasterpublishes a patch releaseenginesis unchangedNeed help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.