Skip to content

Complete non-frontend Priority 4 modernization lanes#169

Merged
rendall merged 98 commits intomasterfrom
priority-4
Mar 26, 2026
Merged

Complete non-frontend Priority 4 modernization lanes#169
rendall merged 98 commits intomasterfrom
priority-4

Conversation

@rendall
Copy link
Copy Markdown
Owner

@rendall rendall commented Mar 26, 2026

Summary

This PR advances Priority 4 repository health work across the completed non-frontend lanes and leaves the remaining frontend/build modernization lane for the next phase.

Completed in this PR:

  • low-risk dependency modernization and residual cleanup
  • Mongo-backed backend test stack modernization
  • runtime/platform cleanup and backend warning reduction
  • lint/tooling modernization, including ESLint flat-config migration and clean lint/format/typecheck commands
  • archive pass for completed Priority 4 artifacts

Major Changes

Dependency modernization and cleanup

  • completed the low-risk Priority 4 dependency loop, including direct dependency cleanup and residual triage
  • improved Knip signal quality and used it to drive safe removals/deferments
  • documented and deferred higher-risk items into the right later lanes rather than forcing them through the low-risk slice

Mongo test-stack modernization

  • modernized the @shelf/jest-mongodb / mongodb-memory-server path
  • removed the stale MONGOMS_DOWNLOAD_URL workaround path and aligned local/CI parity to the newer Mongo test setup
  • updated active documentation and archived the completed Mongo artifacts

Runtime/platform cleanup

  • removed the direct @netlify/functions dependency after repo-aware validation
  • reduced backend build warning noise with a targeted webpack ignore for the optional AWS credential provider path
  • explicitly kept the remaining Mongo dynamic-require warning as an accepted residual warning with rationale

Lint/tooling modernization

  • updated ESLint to the modern flat-config path and restored working lint coverage for TypeScript, Svelte, and Cypress
  • removed the old unsupported-TypeScript warning billboard from yarn lint
  • fixed the repo findings required to get back to green linting without changing test intent
  • verified yarn lint, yarn run prettier --list-different ., yarn typecheck, and yarn test in the WSL-native working copy
  • did a final structure-only cleanup of eslint.config.mjs and documented that the lint/tooling lane is complete

Documentation hygiene

  • archived completed non-frontend Priority 4 plans/checklists/validation notes under docs/archive
  • kept the top-level Priority 4 dependency modernization plan active because it still governs the remaining frontend/build lane

Validation

Validated during the completed Priority 4 slices and documented in the corresponding checklist validation notes:

  • yarn knip
  • yarn lint
  • yarn run prettier --list-different .
  • yarn typecheck
  • yarn build
  • yarn build:backend
  • yarn test
  • yarn test:backend --runTestsByPath src/tests/backend/mongoDb.test.ts src/tests/backend/MongodbService.test.ts

Most recent lint/tooling lane evidence is recorded in:

  • docs/archive/Priority4LintToolingModernizationChecklist01Validation.md
  • docs/archive/Priority4RuntimePlatformChecklist01Validation.md
  • docs/archive/Priority4MongoTestStackChecklist01Validation.md

Scope Notes

Not included in this PR:

  • major Svelte upgrades
  • broader frontend/build modernization beyond the completed lint/tooling lane
  • later export/type cleanup beyond what was already required to keep the repo green

Next Step

The next Priority 4 lane should be the remaining frontend/build modernization work.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 345d2bc607

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR completes the non-frontend Priority 4 modernization lanes by updating dependency/tooling/test-stack configuration, reducing backend build warnings, and archiving completed checklist/plan artifacts—leaving the frontend/build modernization lane for a later phase.

Changes:

  • Modernize tooling: migrate to ESLint flat config, add/adjust Knip configuration, refresh dependency set, and clean up lint/test scripts and artifacts.
  • Modernize Mongo-backed backend tests and CI/local parity surfaces (remove MONGOMS_DOWNLOAD_URL, update Jest Mongo config).
  • Reduce backend build warning noise via targeted webpack ignore for an optional MongoDB/AWS credential provider dependency, and archive completed Priority artifacts.

Reviewed changes

Copilot reviewed 57 out of 66 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
webpack.netlify.functions.cjs Adds IgnorePlugin entry for optional @aws-sdk/credential-providers resolution under MongoDB bundling.
src/tests/mockComment.ts Removes obsolete “generated script” workflow documentation in the helper comment.
src/tests/frontend/frontend-utilities.test.ts Tightens typing in helper recursion and removes any in reply assertions.
src/tests/backend/setup-env.contract.test.ts Adds ESLint suppression for require() in isolated-module bootstrap.
src/tests/backend/MongodbService.test.ts Removes blanket ESLint disables and cleans up unused-disable comment.
src/static/cypress/options-target-host.html Normalizes doctype casing for formatting consistency.
src/static/cypress/manual-load-host.html Normalizes doctype casing for formatting consistency.
src/static/cypress/configured-discussion-host.html Normalizes doctype casing for formatting consistency.
src/static/css/index.css Applies formatter-driven multi-line font-family formatting.
src/scss/simple-comment-style.scss Applies formatter-driven multi-line font-family formatting.
src/lib/simple-comment-types.ts Adjusts ActionType type expression to modern TS syntax.
src/lib/shared-utilities.ts Re-formats nested conditional object construction for readability/formatter compliance.
src/lib/backend-utilities.ts Refactors getCookieToken reducer typing/formatting.
src/lib/NoOpNotificationService.ts Removes unused NoOp notification implementation.
src/frontend-utilities.ts Removes an ESLint suppression comment (keeps logic).
src/entry/index.html Normalizes doctype casing and applies formatter-driven CSS formatting.
src/entry/icebreakers/index.html Normalizes doctype casing and applies formatter-driven CSS formatting.
src/components/low-level/PasswordInput.svelte Adds TS type to IconComponent (component reference).
src/components/low-level/InputField.svelte Removes {} initializer from inputProps and relies on reactive assignment.
src/components/low-level/IconToggle.svelte Removes unused component.
src/components/SelfDisplay.svelte Adds TS type to isProcessing and removes explicit initializer.
src/components/Login.svelte Removes unused catch binding (catch {}) to satisfy lint.
src/components/CommentInput.svelte Adds TS type to buttonCopy and removes explicit initializer.
src/components/CommentDisplay.svelte Adds explicit function types for canEdit/canDelete.
src/.eslintrc.json Removes legacy ESLint config (flat config replaces it).
scripts/createTestEnv.mjs Removes unused script for generating .env.
scripts/ci-local.sh Removes MONGOMS_DOWNLOAD_URL export; keeps TZ parity.
package.json Adds package metadata, modernizes dependencies (ESLint/TS/Prettier/Jest-Mongo), adds knip script, removes unused deps.
knip.json Adds repo-aware Knip configuration (entries, tool configs, ignores).
jest.backend.config.ts Minor formatting cleanup in merged config normalization.
jest-mongodb-config.js Updates MongoDB binary version for memory server.
eslint.config.mjs Introduces ESLint flat-config for TS/Svelte/Cypress and global ignores.
docs/plans/Priority4DependencyModernizationPlan.md Adds/updates the active dependency modernization plan artifact.
docs/norms/ci-parity.md Updates parity env example list (drops MONGOMS_DOWNLOAD_URL).
docs/archive/Priority4Slice2Phase03Validation.md Archives residual dependency triage validation notes.
docs/archive/Priority4Slice2Phase03.md Archives Slice 2 Phase 03 checklist.
docs/archive/Priority4RuntimePlatformChecklist01Validation.md Archives runtime/platform checklist validation notes (warn reduction + dependency removal).
docs/archive/Priority4RuntimePlatformChecklist01.md Archives runtime/platform checklist.
docs/archive/Priority4MongoTestStackChecklist01Validation.md Archives Mongo test-stack modernization validation notes.
docs/archive/Priority4MongoTestStackChecklist01.md Archives Mongo test-stack checklist.
docs/archive/Priority4MongoReplicaSetTestingMiniPlan.md Archives Mongo test-stack modernization mini-plan.
docs/archive/Priority4LintToolingModernizationPlan.md Archives lint/tooling modernization mini-plan.
docs/archive/Priority4LintToolingModernizationChecklist01Validation.md Archives lint/tooling checklist validation notes.
docs/archive/Priority4LintToolingModernizationChecklist01.md Archives lint/tooling checklist.
docs/archive/Priority4KnipReliabilityMiniPlan.md Archives Knip reliability mini-plan.
docs/archive/Priority4KnipReliabilityChecklist01Validation.md Archives Knip reliability checklist validation notes.
docs/archive/Priority4KnipReliabilityChecklist01.md Archives Knip reliability checklist.
docs/archive/Priority4DependencyModernizationChecklist02Validation.md Archives dependency modernization checklist 02 validation notes.
docs/archive/Priority4DependencyModernizationChecklist02.md Archives dependency modernization checklist 02.
docs/archive/Priority4DependencyModernizationChecklist01Validation.md Archives dependency modernization checklist 01 validation notes.
docs/archive/Priority4DependencyModernizationChecklist01.md Archives dependency modernization checklist 01.
docs/archive/Priority3TestSurvey.md Marks Priority 3 survey doc as archived.
docs/archive/Priority3TestSuiteSignalQualityPlan.md Marks Priority 3 plan doc as archived.
docs/archive/Priority3TestSuiteSignalQualityChecklist02BValidation.md Adds archived Checklist 02B validation notes.
docs/archive/Priority3TestSuiteSignalQualityChecklist02B.md Adds archived Checklist 02B artifact.
docs/archive/Priority3TestSuiteSignalQualityChecklist02AValidation.md Adds archived Checklist 02A validation notes.
docs/archive/Priority3TestSuiteSignalQualityChecklist02A.md Adds archived Checklist 02A artifact.
docs/archive/Priority3TestSuiteSignalQualityChecklist02.md Updates status line to reflect archival/supersession.
docs/archive/Priority3TestSuiteSignalQualityChecklist01Validation.md Adds archived Checklist 01 validation notes.
docs/archive/Priority3TestSuiteSignalQualityChecklist01.md Adds archived Checklist 01 artifact.
cypress/plugins/index.js Updates plugin export signature (drops unused args).
README.md Clarifies local MongoDB vs Jest Mongo harness usage and records replica-set follow-up issue.
.github/workflows/netlify-api-test.yml Removes MONGOMS_DOWNLOAD_URL from CI env; keeps TZ.
.eslintignore Removes legacy ignore file (flat config uses inline ignores).
Comments suppressed due to low confidence (1)

src/components/low-level/InputField.svelte:16

  • inputProps is now declared without a default value but is spread into the <input {...inputProps} />. If inputProps is ever undefined during initial render, Svelte will throw when spreading. Initialize inputProps to an empty object (and keep the reactive assignment) to guarantee a safe spread target.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rendall rendall merged commit 3ae554f into master Mar 26, 2026
10 checks passed
@rendall rendall deleted the priority-4 branch March 26, 2026 18:34
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.

2 participants