Skip to content

Remove Node.js 18 support from adapter creator#1154

Merged
Apollon77 merged 7 commits into
masterfrom
copilot/fix-1146
Aug 31, 2025
Merged

Remove Node.js 18 support from adapter creator#1154
Apollon77 merged 7 commits into
masterfrom
copilot/fix-1146

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Aug 31, 2025

This PR removes Node.js 18 support from the ioBroker adapter creator tool. Since Node.js 18 is approaching end-of-life and new adapters should target more recent Node.js versions, the tool now only offers Node.js 20 and 22 as minimum version options.

Changes Made

  • Removed "18" from Node.js version choices in the interactive questionnaire
  • Updated migration logic to automatically upgrade existing projects using Node.js 18 to Node.js 20
  • Updated TypeScript interfaces to reflect the new supported versions ("20" | "22")
  • Removed test case and baseline files for Node.js 18 configurations
  • Rebased on latest master branch to include recent upstream changes
  • Removed comment from migration logic as requested in code review

Migration Behavior

When migrating existing adapters that currently use Node.js 18 (@tsconfig/node18 dependency), the tool will automatically select Node.js 20 as the target version instead. This ensures a smooth upgrade path for existing projects while preventing new adapters from being created with outdated Node.js versions.

Verification

All tests pass (38/38) and the build succeeds without errors. The CLI tool now correctly offers only Node.js 20 and 22 as options when creating new adapters.

Fixes #1146.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits August 31, 2025 16:08
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Copilot AI changed the title [WIP] node.js support for node.js 18 should be removed Remove Node.js 18 support from adapter creator Aug 31, 2025
Copilot AI requested a review from Apollon77 August 31, 2025 16:13
Copy link
Copy Markdown
Collaborator

@Apollon77 Apollon77 left a comment

Choose a reason for hiding this comment

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

Please rebase your changes on latest master branch

Comment thread src/lib/core/questions.ts Outdated
@Apollon77
Copy link
Copy Markdown
Collaborator

@copilot please rebase on master

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Aug 31, 2025

Please rebase your changes on latest master branch

Rebased on latest master branch (f4e46c9). All changes have been re-applied cleanly and tests are passing. (commit: 5c7e3fb)

Copilot AI and others added 2 commits August 31, 2025 16:29
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Aug 31, 2025

@copilot please rebase on master

Rebased on latest master branch. All tests continue to pass (38/38). (commit: 23b56bf)

Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Comment thread src/lib/core/questions.ts Outdated
@Apollon77
Copy link
Copy Markdown
Collaborator

@copilot please make sure the following points are considered when making a PR:

  • Provide a meaningful description to this PR or mention which issues this fixes.
  • Ensure the project builds with npm run build
  • Add tests for your change. This includes negative tests (i.e. inputs that need to fail) as well as baseline tests (i.e. how should the directory structure look like?).
  • Run the test suite with npm test
  • If there are baseline changes, review them and make a separate commit for them with the comment "accept baselines" if they are desired changes
  • If you added a required option, also add it to the template creation (.github/create_templates.ts)
  • Add a detailed migration description to docs/updates explaining what the user needs to do when manually updating an existing project
  • Add your changes to CHANGELOG.md (referencing the migration description and this PR or the issue you fixed)

@Apollon77 Apollon77 marked this pull request as ready for review August 31, 2025 17:03
@Apollon77 Apollon77 merged commit ec8eaf8 into master Aug 31, 2025
6 checks passed
@Apollon77 Apollon77 deleted the copilot/fix-1146 branch August 31, 2025 17:03
Copilot AI added a commit that referenced this pull request Aug 31, 2025
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Co-authored-by: Ingo Fischer <github@fischer-ka.de>
Copilot AI added a commit that referenced this pull request Aug 31, 2025
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Apollon77 added a commit that referenced this pull request Aug 31, 2025
…s 18 from CI templates (#1157)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Apollon77 <11976694+Apollon77@users.noreply.github.com>
Co-authored-by: Ingo Fischer <github@fischer-ka.de>
Apollon77 added a commit that referenced this pull request Nov 8, 2025
* IMPORTANT: The adapter creator requires Node.js 20.x or newer to run!
* (@Apollon77/@copilot) Add option to create TypeScript adapters without build step for direct TS execution with JS-Controller 4+ (#889)
* (@Apollon77/@copilot) Check for outdated version on startup and warn users to update (#1021)
* (@Apollon77/@copilot) Add ack flag handling to onStateChange in adapter templates (#1058)
* (@Apollon77/@copilot) Add three-choice option for dev-server installation (global/local/no) (#864)
* (@Apollon77/@copilot) Replace custom_m.html with jsonCustom.json for Admin 5 compatibility (#723) · [Migration guide](docs/updates/20251014_jsoncustom_admin5_support.md)
* (@Apollon77/@copilot) Use @iobroker/types instead of @types/iobroker package · [Migration guide](docs/updates/20251014_iobroker_types_package.md)
* (@Apollon77/@copilot) Add `adminUI.config: "none"` for adapters without configuration UI to satisfy adapter-checker W164 (#1071) · [Migration guide](docs/updates/20251014_admin_ui_config_none.md)
* (@Apollon77/@copilot) Updated README template installation instructions to use GitHub Custom Install instead of direct npm commands
* (@Apollon77/@copilot) Switch to npm trusted publishing for automatic releases (#1202) · [Migration guide](docs/updates/20251013_trusted_deploy.md)
* (@Apollon77/@copilot) Added option to use official @iobroker/eslint-config with ESLint 9 format as primary configuration (#1186) · [Migration guide](docs/updates/20251012_eslint9_official_config.md)
* (@Apollon77/@copilot) Upgraded custom ESLint configuration to ESLint 9 with flat config format (#1186) · [Migration guide](docs/updates/20251012_eslint9_official_config.md)
* (@Apollon77/@copilot) Add VIS widget ESLint configuration support in main config files (#1186)
* (@Apollon77/@copilot) Adapt Dependabot schedule to run on specific day of month between 2-28 (#1200) · [Migration guide](docs/updates/20250102_dependabot_day_schedule.md)
* (@hacki11) Support git-ssh in devcontainer (#1136) [Migration guide](docs/updates/20250401_devcontainer_ssh.md)
* (@Apollon77/@copilot) Add config.yml to GitHub issue templates with forum link (#1069) · [Migration guide](docs/updates/20250920_github_issue_template_config.md)
* (@hacki11) Dev Container improvements (#1137) · [Migration guide](docs/updates/20250404_devcontainer_improvments.md)
* (@hacki11) Allow newer versions of `admin` (#1137) · [Migration guide](docs/updates/20250406_admin_dependency_ge.md)
* (@Apollon77/@copilot) Upgrade to @iobroker/testing 5.1.1, remove redundant dependencies (#1165) · [Migration guide](docs/updates/20250831_iobroker_testing_51.md)
* (@Apollon77/@copilot) Update TypeScript to 5.9.2 and typescript-eslint to 7.x for both creator and generated templates (#1158) · [Migration guide](docs/updates/20250831_typescript_59_update.md)
* (@Apollon77/@copilot) Add Node.js 24 as a supported version (#1145) · [Migration guide](docs/updates/20250831_node24_support.md)
* (@Apollon77/@copilot) Replace deprecated `setStateAsync` with `setState` in adapter templates (#1148, [Migration guide](./docs/updates/20250831_setstate_sync.md))
* (@Apollon77/@copilot) Remove Node.js 18 as a supported version (#1154) · [Migration guide](docs/updates/20250831_remove_nodejs18_support.md)
* (@Apollon77/@copilot) Adjust the io-package schema location (#1153) · [Migration guide](docs/updates/20250831_jsonconfig_schema_url_fix.md)
* (@Apollon77/@copilot) Remove fa-icon from adminTab configuration to comply with Admin 5 requirements (#741) · [Migration guide](docs/updates/20250102_remove_admin_tab_fa_icon.md)
* (@Apollon77/@copilot) Add conditional VIS dependency based on widget function (#1077) · [Migration guide](docs/updates/20250902_conditional_vis_dependency.md)
* (@Apollon77/@copilot) Suppress npm update notifications during adapter creation (#1117)
* (@Apollon77/@copilot) Fix git commits to use user-provided author info instead of global config (#1085)
* (@Apollon77/@copilot) Add responsive size attributes to jsonConfig template (#1121) · [Migration guide](docs/updates/20250831_jsonconfig_responsive_attributes.md)
* (@Apollon77/@copilot) Always add empty 'contributors' section to package.json (#1079)
* (@Apollon77/@copilot) Use new i18n directory structure - change from admin/i18n/en/translations.json to admin/i18n/en.json (#1130) · [Migration guide](docs/updates/20250910_i18n_directory_structure.md)
* (@Apollon77/@copilot) Add .commitinfo to .gitignore template to exclude release script files (#1183)
* (@Apollon77/@copilot) Add JSON5 support to VSCode settings template (#1169) · [Migration guide](docs/updates/20250920_vscode_json5_support.md)
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.

node.js support for node.js 18 should be removed

2 participants