Skip to content

Website overhaul: real package names, Clinical Coding Platform, Playwright tests#30

Merged
MelbourneDeveloper merged 5 commits intomainfrom
updatewebsite
Apr 12, 2026
Merged

Website overhaul: real package names, Clinical Coding Platform, Playwright tests#30
MelbourneDeveloper merged 5 commits intomainfrom
updatewebsite

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR

Rewrites the documentation website to advertise the actual shipped NuGet packages and CLI tools, replaces the old Healthcare Samples references with the Nimblesite Clinical Coding Platform, adds DocFX-driven API reference for every shipped library, and adds a Playwright E2E suite that fails the build if stale package names ever sneak back in.

What Was Added?

  • Root LICENSE — MIT, Copyright 2026 Nimblesite Pty Ltd.
  • .config/dotnet-tools.json — pins docfx 2.78.5 as a local tool so the website build can generate API metadata reproducibly.
  • Website/src/_data/versions.cjs — single source of truth for every NuGet version advertised on the site, overridable via DATAPROVIDER_VERSION, DATAPROVIDERMIGRATE_VERSION, LQL_VERSION, NIMBLESITE_VERSION env vars at build time.
  • Website/playwright.config.ts + Website/tsconfig.json + Website/tests/e2e/docs.spec.ts — Playwright E2E suite (419 LOC) that builds the site, serves it on port 8123, and crawls every doc/blog/API page asserting:
    • hero, navigation, and CTAs render correctly
    • a forbidden-strings sweep blocks regressions to MelbourneDev.*, DataProvider.MySql, dotnet add package DataProvider.Sqlite|SqlServer|Postgres, Lql.SQLite|Postgres|SqlServer, Lql.TypeProvider.FSharp, HealthcareSamples, --version 0.4.0, and the literal string 0.4.0
    • the three real CLI tool install commands appear on /docs/installation/
    • the Clinical Coding Platform page links to MelbourneDeveloper/ClinicalCoding
    • DocFX-generated API pages exist for Nimblesite.DataProvider.{Core,SQLite,Postgres,SqlServer,Migration.*}, Nimblesite.Lql.{Core,Postgres,SQLite,SqlServer}, Nimblesite.Sync.{Core,Http,Postgres,SQLite}, Nimblesite.Reporting.Engine, Nimblesite.Sql.Model, and DataProviderMigrate
  • Website/src/assets/images/clinical-coding/login.png — screenshot used on the Clinical Coding Platform page.
  • docs/plans/website-update.md — 257-line plan document capturing the canonical package/tool reference and the no-content-duplication rule (component READMEs are the source of truth, copied into the site at build time).
  • Migration/README.md — new component README (130 lines) so the migration docs page can be generated from a single source.
  • @playwright/test, @types/node, http-server added to Website/package.json devDependencies, plus test:e2e / test:e2e:install / docfx npm scripts.
  • Website/src/_data/versions.cjs + versions.default env-driven default 0.9.6-beta.

What Was Changed or Deleted?

  • .github/workflows/deploy-website.yml -> deploy-pages.yml — workflow renamed and rewritten: now installs DocFX, runs docfx metadata, runs generate-api-docs.cjs, builds Eleventy with DATAPROVIDER_VERSION / LQL_VERSION / NIMBLESITE_VERSION injected from the release tag, and deploys to MelbourneDeveloper/DataProviderWebsite via peaceiris/actions-gh-pages@v4.
  • Website/docfx/docfx.json — expanded source list to include every shipped project: DataProvider, Lql/Lql, Lql/Nimblesite.Lql.{Core,Postgres,SQLite,SqlServer}, DataProviderMigrate, Nimblesite.Reporting.{Engine,Api}, Nimblesite.Sql.Model, plus the existing DataProvider/Sync entries.
  • Website/scripts/copy-readmes.cjs + generate-api-docs.cjs — extended to copy the new Migration/README.md and to walk the new DocFX-generated YAML for every project listed above.
  • Website/package.jsondev/build/build:site now run generate-api-docs.cjs before Eleventy so API pages are always present locally and in CI.
  • Website/src/_data/navigation.json — removed stale "F# Type Provider", "Gatekeeper", and old "Healthcare Samples" entries; renamed to "Clinical Coding Platform"; added Installation link and Clinical Coding GitHub footer link.
  • Website/src/docs/{getting-started,installation,quick-start,samples}.md — fully rewritten to match the real packages: dotnet tool install -g DataProvider/DataProviderMigrate/Lql, dotnet add package Nimblesite.DataProvider.{SQLite,Postgres,SqlServer}, Nimblesite.Lql.*, Nimblesite.Sync.*. samples.md is now the Clinical Coding Platform reference page.
  • Website/src/blog/{getting-started-dataprovider,connecting-sql-server,lql-simplifies-development}.md — package names, CLI invocations, and version references updated to match shipped artifacts.
  • Website/src/index.njk, about.md, _includes/layouts/base.njk, _includes/layouts/api.njk — versions now read from {{ versions.* }} instead of being hard-coded; nav/footer updated accordingly.
  • Website/src/assets/css/styles.css (+77 lines) — styles for the Clinical Coding Platform page (screenshot frame, feature grid) merged into existing class system rather than introducing a section-scoped sheet.
  • README.md, DataProvider/README.md, Lql/README.md, Sync/README.md — updated to reference the real Nimblesite.* package names, the three CLI tools, and the Clinical Coding Platform; these flow through copy-readmes.cjs to /docs/{component}/.

How Do The Automated Tests Prove It Works?

  • make ci (lint + test + build across .NET, Rust, F#, TypeScript) passes locally on this branch.
  • Website/tests/e2e/docs.spec.ts (Playwright, run via npm run test:e2e) covers:
    • Homepage > renders hero and links to key docs and nav contains Clinical Coding Platform and no stale entries — assert hero text, samples CTA, and forbidden-string sweep over body and nav.
    • Installation page > advertises the three real CLI tools and Nimblesite runtime — asserts dotnet tool install -g DataProvider, DataProviderMigrate, Lql and the Nimblesite.DataProvider.* runtime packages.
    • Doc-page sweep across the 38 URLs in DOC_PAGES (every docs page, every DocFX-generated API namespace, every blog post) — each must return 200 and contain none of the 14 forbidden stale strings (MelbourneDev., DataProvider.MySql, the four dotnet add package DataProvider.* variants, the four Lql.* variants, HealthcareSamples, Healthcare Samples, --version 0.4.0, version": "0.4.0).
    • Clinical Coding Platform page test — verifies the page links to github.com/MelbourneDeveloper/ClinicalCoding and renders the login screenshot.

Spec / Doc Changes

  • New docs/plans/website-update.md documents the canonical package/tool table, the single-source-of-truth rule (component READMEs -> /docs/{component}/ via copy-readmes.cjs), and the Playwright stale-string contract.
  • README.md, DataProvider/README.md, Lql/README.md, Sync/README.md, Migration/README.md (new) updated/added — these are the canonical component docs that the website mirrors.

Breaking Changes

  • None for library/CLI consumers.
  • The deploy-website.yml GitHub Actions workflow has been renamed to deploy-pages.yml. Anything that referenced the old workflow filename (e.g. workflow_call from a release pipeline) must be updated.

@MelbourneDeveloper MelbourneDeveloper merged commit b63ae2d into main Apr 12, 2026
3 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the updatewebsite branch April 12, 2026 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant