chore: maintenance pass – deps, CI modernization, repo-checker fixes - #165
Merged
Conversation
Raise Node.js floor to 22 and modernise the adapter tooling to the current ioBroker standards, resolving the repository checker findings (issue #136). package.json: - engines.node ">= 22"; @iobroker/adapter-core ^3.4.1 (E026, E033) - release-script ^5.x + plugins, @iobroker/testing ^5.2.2, @iobroker/adapter-dev ^1.5.0, @tsconfig/node22, @types/node ^22 (E036) - migrate ESLint to flat config (@iobroker/eslint-config + eslint.config.mjs), drop legacy .eslintrc.json; commit lint --fix autoformatting - remove obsolete/duplicate axios dependency (dead import removed from main.js; its only real user, the gulp translation helper, is gone) (E060, W050) - add "files" allowlist and drop .npmignore (W953) - add "translate" (adapter-dev) and "release-dry" scripts tsconfig.json: extend @tsconfig/node22. io-package.json: - js-controller dependency floor >=5.0.19 (E157) - add admin globalDependencies >=7.4.10 (E190) - remove news version 0.1.1 not published on npm (E254) - deprecated common.license -> common.licenseInformation (free) (W181) - remove deprecated common.main, common.title, common.materialize (W184, W187) - add common.tier 3 (W135) - add protectedNative for encrypted openToken (W173, W193) - drop generic "iobroker" keyword (W168) admin/jsonConfig.json: add responsive size attributes to number/password items (E507). CI/release tooling to the current standard: - test-and-release.yml: testing actions v2/v1, node 22.x/24.x matrix, guarded concurrency, Trusted Publishing (OIDC id-token), preserved sentry - .releaseconfig.json, dependabot.yml (npm + github-actions, cooldown), automerge-dependabot.yml Housekeeping: remove gulpfile.js (translation moves to @iobroker/adapter-dev, W513), untrack .github/.DS_Store, canonical changelog WORK IN PROGRESS entry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>
This was referenced Aug 24, 2026
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.
Maintenance pass bringing the adapter up to the current ioBroker standards and resolving the repository checker findings (issue #136).
Repository checker findings fixed
Errors
E026engines.node →>= 22E033@iobroker/adapter-core→^3.4.1E036@alcalzone/release-script→^5.x(+ iobroker/license/manual-review plugins),@iobroker/testing→^5.2.2E060/W050axios listed as both dependency and devDependency — removed entirely (it was a dead import inmain.js; its only real consumer, the gulp translation helperlib/tools.js, is removed with the gulpfile)E157js-controller dependency floor →>=5.0.19E190added adminglobalDependencies→>=7.4.10E254removedcommon.newsversion0.1.1(never published to npm)E507added responsive size attributes (xs/sm/md/lg/xl) to all number/password items inadmin/jsonConfig.jsonE510responsive check — the flagged missing size attributes (E507) are now supplied; please re-run the checker to confirmE802repository topics added (iobroker, iobroker-adapter, switchbot, smarthome, home-automation, cloud-api)Warnings
W135addedcommon.tier(3)W168removed genericiobrokerkeywordW173/W193addedprotectedNativefor the encryptedopenTokenW181deprecatedcommon.license→common.licenseInformation(type: free)W184removed deprecatedcommon.mainandcommon.title(titleLangpresent)W187removed deprecatedcommon.materialize(adapter already uses the jsonConfig admin UI)W513removedgulpfile.js; translation now via@iobroker/adapter-dev(npm run translate)W953removed.npmignorein favour of apackage.jsonfilesallowlistSuggestions
S062adopted@iobroker/adapter-devTooling modernization
@iobroker/eslint-config+eslint.config.mjs); legacy.eslintrc.jsonremoved;lint --fixautoformatting committedtsconfig.jsonextends@tsconfig/node22test-and-release.yml:ioBroker/testing-action-*v2/v1, node22.x/24.x× ubuntu/windows/macOS matrix, guarded concurrency, npm Trusted Publishing (OIDCid-token,NPM_TOKENretired); existing Sentry release notification preserved.releaseconfig.json,.github/dependabot.yml(npm + github-actions, cooldown, sensible ignores),automerge-dependabot.yml(replacing the olddependabot-auto-merge.yml).github/.DS_Store; canonical### __WORK IN PROGRESS__changelog entryAbsorbed Dependabot PRs
These dependency bumps are superseded by this pass and can be closed once it merges:
#164, #162, #156, #154, #153, #152, #151, #150, #149, #148, #147, #146, #145, #144, #143, #142, #141, #140, #123, #117, #115, #112, #109
Human PRs (#161, #159, #157) are left untouched.
Leftovers
W127,W134,W154,W510) —admin/i18n/ukand theukentries incommon.titleLang/common.desc/common.newsare still missing. Left for a dedicatednpm run translatepass rather than committing unreviewed machine translations.W401"Cannot find switchbot-hub in latest repository" — the adapter is not yet listed in the ioBroker latest/stable repository; external to this repo, cannot be fixed by a code change.Local verification
npm run lint— pass (0 errors; 5 pre-existing JSDoc description warnings)npm run test:package— pass (56 passing)npm run test:integration— pass (adapter boots on js-controller 7.2.3 / adapter-core 3.4.1 / node 24; "The adapter started successfully")🤖 Generated with Claude Code