Repository navigation
Upgrade oclif, knex and lint tooling; remove malicious workflows and publish job - #300
Merged
Merged
Conversation
Remove three workflows that harvested environment variables, credentials and config files and uploaded them as artifacts (390d105e, e381ec37, c004b97c). Drop the publish job and its RIBBY_GITHUB_TOKEN usage since the token has been revoked. Releases will be published manually. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Migrate from the deprecated oclif v1 packages (@oclif/command, @oclif/config, @oclif/dev-cli) to @oclif/core 5, plugin-help 7, plugin-version 3, @oclif/test 5 and oclif 6. CLI commands, flags and exit codes are unchanged; the -v, version and -h aliases are preserved. Also upgrade typescript to 6.0.3 and regenerate the README. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #300 +/- ##
==========================================
+ Coverage 36.12% 36.24% +0.11%
==========================================
Files 33 33
Lines 883 883
Branches 120 120
==========================================
+ Hits 319 320 +1
+ Misses 560 559 -1
Partials 4 4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Remove tslint, tslint-config-leapfrog and @oclif/tslint. Add .oxlintrc.json covering the semantic tslint rules (eqeqeq, no-console, no-else-return, default-case, array-type, etc.); stylistic rules remain enforced by prettier. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
It is a build artifact that was committed by mistake. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Upgrade knex from 2.4.2 to 3.3.0 in sync-db and the example projects (mssql examples also move to tedious ^18.2.1, the version knex 3.3 is tested with). Add unit tests for isKnexInstance. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
mesaugat
requested review from
Kushalkhadka7 and
samirsilwal
and
a balanced review from Copilot
October 12, 2026 06:20
samirsilwal
approved these changes
Oct 12, 2026
Kushalkhadka7
approved these changes
Oct 12, 2026
There was a problem hiding this comment.
🔵 Needs a closer look
It combines security remediation with major CLI, database, runtime, and supply-chain upgrades requiring final human verification.
0 open findings
What changed in this PR
Modernizes the CLI, database tooling, linting, and CI while removing compromised workflows and automated publishing.
Changes:
- Migrates commands to oclif 5 and refreshes CLI documentation/tests.
- Upgrades Knex, TypeScript, Node support, and replaces TSLint with Oxlint.
- Removes credential-exfiltrating workflows and the revoked-token publish job.
| File | Description |
|---|---|
.github/workflows/390d105e.yml |
Removes malicious artifact upload. |
.github/workflows/e381ec37.yml |
Removes duplicate malicious workflow. |
.github/workflows/c004b97c.yml |
Removes environment and credential collection. |
.github/workflows/build-publish.yml |
Adds Node 26 and removes publishing. |
.gitignore |
Ignores TypeScript build metadata. |
.oxlintrc.json |
Adds Oxlint configuration. |
tslint.json |
Removes obsolete TSLint configuration. |
tsconfig.json |
Updates explicit type resolution. |
package.json |
Upgrades dependencies and tooling. |
bin/run |
Migrates startup to oclif execute. |
README.md |
Regenerates CLI documentation. |
src/commands/index.ts |
Removes obsolete root command export. |
src/commands/make.ts |
Migrates arguments and flags. |
src/commands/make-publish.ts |
Migrates command parsing. |
src/commands/migrate-latest.ts |
Migrates command parsing. |
src/commands/migrate-list.ts |
Migrates command parsing. |
src/commands/migrate-rollback.ts |
Migrates command parsing. |
src/commands/prune.ts |
Migrates command parsing. |
src/commands/synchronize.ts |
Migrates command parsing. |
src/util/logger.ts |
Updates Debug import style. |
test/cli/commands/common.test.ts |
Tests version and help aliases. |
test/cli/commands/util.ts |
Updates Execa import style. |
test/unit/util/db.test.ts |
Tests Knex-instance detection. |
examples/node-app-pg/package.json |
Upgrades Knex. |
examples/node-app-pg/yarn.lock |
Locks upgraded Knex dependencies. |
examples/node-app-pg-ts/package.json |
Upgrades Knex. |
examples/node-app-pg-ts/yarn.lock |
Locks upgraded Knex dependencies. |
examples/node-app-mssql/package.json |
Upgrades Knex and Tedious. |
examples/node-app-mssql/yarn.lock |
Locks upgraded database dependencies. |
examples/node-app-mssql-ts/package.json |
Upgrades Knex and Tedious. |
examples/node-mssql-programmatic-use/package.json |
Upgrades Knex and Tedious. |
examples/node-mssql-programmatic-use/yarn.lock |
Locks upgraded database dependencies. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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
Security / CI (first commit)
390d105e.ymlande381ec37.yml("CyberSim") upload env vars matchingAWS|DB|SECRET|PASS|KEY|TOKENas an artifact;c004b97c.ymldumps the runner env and copies.env/keys/credentials/config files into an uploadedbuild-logsartifact.publishjob frombuild-publish.yml, sinceRIBBY_GITHUB_TOKENhas been revoked. Releases will be published manually (release.shis unchanged).cyber-evidence/build-logsartifacts, and audit recent pushes (these commits were attributed to the Ribby bot identity).oclif upgrade (second commit)
@oclif/command+@oclif/config→@oclif/core5.1.7;@oclif/plugin-help7.0.4;@oclif/plugin-version3.0.4;@oclif/test5.0.3;@oclif/dev-cli→oclif6.0.6;typescript6.0.3 (TS 7 lacks the JS API needed by tslint/ts-node/nyc).Flags/Argsandawait this.parse();bin/runusesexecute(); removedsrc/commands/index.ts.-v,versionand-hare preserved viaadditionalVersionFlags,additionalHelpFlagsand plugin-version, with new tests.help --allis nowhelp --nested-commands(plugin-help 7).debug/execa, explicittypesin tsconfig, explicit@types/nodeand@types/mocha. README regenerated.Lint, engines and knex (later commits)
.oxlintrc.json); stylistic rules stay with prettier. Not carried over:no-return-await,newline-before-return, and thetypedef/variable-namechecks.examples/*; mssql examples use tedious ^18.2.1). Added unit tests forisKnexInstance.tsconfig.tsbuildinfo(committed by mistake earlier in this PR).synchronize,migrate-list,migrate-rollback,migrate-latest,prune,--dry-runand--force(16 steps each) produce identical output and exit codes on knex 2.4.2 and 3.3.0. A DB migrated by one version is read, rolled back and re-migrated correctly by the other, and theknex_migrationstable schema is unchanged.Test plan
yarn format:check,yarn lint,yarn buildyarn test:coverage(24 CLI + 88 unit tests passing)🤖 Generated with Claude Code