Skip to content

docs(readme): replace dead ideal-postcodes.dev links - #758

Open
cblanc wants to merge 8 commits into
masterfrom
devdomain
Open

cblanc wants to merge 8 commits into
masterfrom
devdomain

Conversation

@cblanc

@cblanc cblanc commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Every *.ideal-postcodes.dev host (the retired TypeDoc sites) is NXDOMAIN, so each documentation link in the README was dead
  • Deeplinks now point at the matching source file on GitHub; page-level links point at the core-interface README
  • Same fix for the TSDoc comment in lib/agent.ts
  • The README commit is docs:, but this PR also carries a fix(deps): commit (see below), so merging publishes a patch release, which also refreshes the README on npm

CI and toolchain

  • CI failed in "Set up job" because GitHub auto-fails actions/cache@v1. Caching now uses setup-node's built-in npm cache; checkout and setup-node are on v7; install uses npm ci
  • Node matrix is 22.x and 24.x (was 10.x, 12.x, 14.x); the release job runs on 24.x
  • Release job checks out full history with persist-credentials: false, which semantic-release needs on current checkout
  • Coverage upload moved from the deprecated codecov npm uploader to codecov/codecov-action@v7
  • Dev dependencies pinned exactly: TypeScript 6.0.3, mocha 12.0.1, chai 6.2.2, sinon 22.1.0, nock 14.0.17, nyc 18.0.0, ts-node 10.9.2, ESLint 10.10.0 with typescript-eslint 8.70.0, prettier 3.9.7, semantic-release 25.0.9 with @cablanchard/semantic-release 2.0.0
  • ESLint rules from @cablanchard/eslint-config ported to a flat eslint.config.js; tslint.json and unused dev dependencies removed
  • tsconfig.json sets rootDir, types and ignoreDeprecations for TypeScript 6. Build output is still ES5 CommonJS with the same files
  • keyv 4.5.4 added as a dev dependency so got 11's typings resolve on a clean install
  • Runtime: got pinned to 11.8.6 (was ~11.8.0) to clear GHSA-pfrx-2q88-qq97. This is a fix(deps): commit, so merging to master publishes a patch release
  • engines is unchanged

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant