Skip to content

chore: maintenance pass – deps, CI modernization, repo-checker fixes - #855

Merged
DutchmanNL merged 2 commits into
mainfrom
chore/maintenance-2026-08
Aug 24, 2026
Merged

chore: maintenance pass – deps, CI modernization, repo-checker fixes#855
DutchmanNL merged 2 commits into
mainfrom
chore/maintenance-2026-08

Conversation

@DutchmanNL

Copy link
Copy Markdown
Contributor

Maintenance pass addressing the repository checker findings (issue #844), modernizing CI/release tooling, and updating dependencies. This is a JavaScript adapter that is already fairly modern (flat ESLint, axios v1, adapter-core v3), so changes are surgical.

Checker findings fixed

Errors

  • E0036@alcalzone/release-script stack bumped 5.0.0/4.x → 5.2.1 / 5.2.0 / 5.2.2 / 5.2.0
  • E2004 – removed common.news entry 0.9.1 (not published to npm)
  • E3020 / E3022test-and-release.yml: check-and-lint and deploy now use Node 24 (testing-action-check@v2)
  • E3027 – added windows-latest to the adapter-tests OS matrix
  • E3031 – root cause was the outdated workflow; addressed by the workflow modernization (a fresh run will clear it)

Warnings

  • W0028engines.node >= 20>= 22
  • W0034@iobroker/adapter-core ^3.3.2^3.4.1
  • W1056globalDependencies.admin >=7.6.17>=7.6.20
  • W1137 – removed deprecated common.licenseInformation.link
  • W3027 – windows OS added to adapter-tests (see E3027)
  • W8004 – bot PRs absorbed by this branch (see below)
  • W8915 – dependabot npm cooldown: { default-days: 7 } added
  • W8916 – dependabot github-actions ecosystem entry added
  • W8917 – dependabot ignore rule for @types/node semver-major added

Suggestions

  • S0082 – bumped @types/proxyquire ^1.3.31, @types/ws ^8.18.1
  • S0085 / S0088 – added @tsconfig/node22 devDep and extends in tsconfig.json
  • S3014adapter-tests now declares needs: [check-and-lint]
  • S6022 – added CHANGELOG_OLD.md link at the end of the README changelog
  • S8906 – dependabot npm schedule migrated to cron
  • S8910 – deleted stale .github/workflows/dependabot-auto-merge.yml.OLD

Also: untracked committed .DS_Store (added to .gitignore); refreshed release-script scripts (release --all --branchPattern '*', release-dry); updated repo topics (E802/W802) to include iobroker, esp8266, esp32, neopixel.

Bot PRs absorbed by this branch (safe to close)

#834, #833, #830, #820, #818, #808, #805

Dependabot version-bump PRs remain open for the bot to reconcile against the updated lockfile: #852, #847, #840, #838, #826, #795.

Human-authored PRs left untouched: #792 (arteck – fix online state), #779 (Admin 5 JSON-Config migration).

Leftovers (require dedicated follow-up, not in scope here)

  • S5022 – admin UI still uses materialize (adminUI.config: "materialize", no jsonConfig.json). A jsonConfig/React port is a dedicated effort (open PR Migrate admin interface to Admin 5 JSON-Config #779 targets this).
  • S5601 – i18n uses long format ({lang}/translations.json); migrating to short format is optional and touches all translation files.
  • S5005 – plain setTimeout() in main.js (8 occurrences); switching to this.setTimeout() is a source refactor best done separately.
  • W5606 – some i18n entries are still identical to English (untranslated); needs a translation pass.
  • W6023 – the standard Sentry notice is already present near the top of README.md; no change needed.
  • W3032 / W3050 / W3052 / S3056 – historical failed/expired workflow-run reports; self-resolve once new runs complete.

Local verification

  • npm install --no-audit --no-fund – lockfile updated
  • npm run lintpass
  • npm run test:packagepass (57 passing)
  • integration (mocha test/integration.js --exit) – pass: adapter boots on js-controller 7.2.3 with adapter-core ^3.4.1 ("The adapter starts")

🤖 Generated with Claude Code

- engines.node ">= 20" -> ">= 22" (W0028); @iobroker/adapter-core ^3.3.2 -> ^3.4.1 (W0034)
- release-script devDeps 5.0.0/4.x -> 5.2.1/5.2.0/5.2.2/5.2.0 (E0036)
- scripts.release -> "--all --branchPattern '*'", rename release-DryRun -> release-dry
- add @tsconfig/node22 + tsconfig extends node22, @types/node ^22, target es2022 (S0085/S0088)
- bump @types/proxyquire ^1.3.31, @types/ws ^8.18.1 (S0082)
- io-package.json: drop unpublished 0.9.1 news entry (E2004); remove deprecated
  licenseInformation.link (W1137); raise admin globalDependency >=7.6.20 (W1056)
- test-and-release.yml: testing-action-check@v2 node 24, adapter-tests needs check-and-lint
  + timeout 30 + fail-fast:false + matrix node [22,24] x [ubuntu,windows,macos], deploy node 24
  (E3020/E3022/E3027/W3027/S3014)
- dependabot.yml: add github-actions ecosystem, cron schedule, cooldown 7d,
  @types/node major + typescript ignores, limit 15 (W8915/W8916/W8917/S8906)
- remove stale dependabot-auto-merge.yml.OLD (S8910); untrack .DS_Store + gitignore
- README: maintenance changelog bullet, add CHANGELOG_OLD.md link (S6022)
- repo topics: add iobroker, esp8266, esp32, neopixel (E802/W802)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread .github/workflows/test-and-release.yml Fixed
Comment thread .github/workflows/test-and-release.yml Fixed
Add a top-level `permissions: contents: read` default so the check-and-lint
and adapter-tests jobs no longer run with a broadly-scoped GITHUB_TOKEN
(CodeQL "Workflow does not contain permissions"). The deploy job keeps its
own contents:write + id-token:write override.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DutchmanNL
DutchmanNL merged commit 14f18ab into main Aug 24, 2026
12 checks passed
@DutchmanNL
DutchmanNL deleted the chore/maintenance-2026-08 branch August 24, 2026 10:15
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