Complete non-frontend Priority 4 modernization lanes#169
Conversation
There was a problem hiding this comment.
💡 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".
There was a problem hiding this comment.
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
inputPropsis now declared without a default value but is spread into the<input {...inputProps} />. IfinputPropsis everundefinedduring initial render, Svelte will throw when spreading. InitializeinputPropsto 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.
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:
Major Changes
Dependency modernization and cleanup
Mongo test-stack modernization
@shelf/jest-mongodb/mongodb-memory-serverpathMONGOMS_DOWNLOAD_URLworkaround path and aligned local/CI parity to the newer Mongo test setupRuntime/platform cleanup
@netlify/functionsdependency after repo-aware validationLint/tooling modernization
yarn lintyarn lint,yarn run prettier --list-different .,yarn typecheck, andyarn testin the WSL-native working copyeslint.config.mjsand documented that the lint/tooling lane is completeDocumentation hygiene
docs/archiveValidation
Validated during the completed Priority 4 slices and documented in the corresponding checklist validation notes:
yarn knipyarn lintyarn run prettier --list-different .yarn typecheckyarn buildyarn build:backendyarn testyarn test:backend --runTestsByPath src/tests/backend/mongoDb.test.ts src/tests/backend/MongodbService.test.tsMost recent lint/tooling lane evidence is recorded in:
docs/archive/Priority4LintToolingModernizationChecklist01Validation.mddocs/archive/Priority4RuntimePlatformChecklist01Validation.mddocs/archive/Priority4MongoTestStackChecklist01Validation.mdScope Notes
Not included in this PR:
Next Step
The next Priority 4 lane should be the remaining frontend/build modernization work.