Skip to content

Eslint review comment#4585

Draft
marufrasully wants to merge 26 commits intomainfrom
eslint-review-comment
Draft

Eslint review comment#4585
marufrasully wants to merge 26 commits intomainfrom
eslint-review-comment

Conversation

@marufrasully
Copy link
Copy Markdown
Contributor

@marufrasully marufrasully commented Apr 22, 2026

feat: Support ESLint 10 and Relax Dependency Version Ranges Across Monorepo

New Features

ESLint 10 support for @sap-ux/eslint-plugin-fiori-tools: The plugin now declares eslint: "^9 || ^10" as a peer dependency and has been updated internally to be compatible with ESLint 10. This is a major version bump for the plugin package.

All generated Fiori app/library project templates that include ESLint configuration are updated to reference eslint: "^10" and @sap-ux/eslint-plugin-fiori-tools: "^10.0.0".

♻️ Caret ranges for all runtime dependencies: Every exact-pinned version (e.g. "2.1.0") across the entire monorepo has been converted to a caret range (e.g. "^2.1.0"). This follows npm best practice — exact pins in published packages unnecessarily restrict consumers and can cause duplicate installs or version conflicts. The pnpm lockfile continues to guarantee reproducible installs.

Changes

  • packages/eslint-plugin-fiori-tools/package.json: Updated peer dep to eslint: "^9 || ^10", bumped @eslint/js, @eslint/core, @eslint/plugin-kit, moved @types/semver to devDependencies, and converted all deps to caret ranges.
  • packages/eslint-plugin-fiori-tools/src/index.ts: Extracted shared fioriRules variable to avoid repeated type assertions.
  • packages/eslint-plugin-fiori-tools/src/rules/*.ts: Removed deprecated category: 'Best Practices' field from all rule docs metadata (not supported in ESLint 10).
  • packages/eslint-plugin-fiori-tools/src/rules/sap-no-global-variable.ts, sap-no-override-rendering.ts, sap-ui5-no-private-prop.ts, sap-usage-basemastercontroller.ts: Removed deprecated context.getSourceCode() fallback; now uses context.sourceCode directly (required by ESLint 10).
  • packages/eslint-plugin-fiori-tools/src/types.ts: Renamed FioriRuleDefinition to FioriRuleDefinitionInternal and introduced a new FioriRuleDefinition type that intersects with ESLint's RuleDefinition for ESLint 10 compatibility.
  • packages/eslint-plugin-fiori-tools/src/language/*/types.ts: Moved CustomRuleDefinitionType/CustomRuleTypeDefinitions imports from @eslint/core to @eslint/plugin-kit (API reorganization between versions).
  • packages/eslint-plugin-fiori-tools/test/rules/*.test.ts: Removed type assertions from all error test cases (no longer required/supported in ESLint 10's RuleTester).
  • packages/app-config-writer/src/eslint-config/convert.ts: Updated default ESLint version written to generated package.json from ^9.0.0 to ^10.0.0.
  • packages/ui5-application-writer/templates/optional/eslint/package.json, packages/ui5-library-writer/templates/optional/typescript/package.json: Template ESLint references bumped to ^10.
  • package.json (root): Bumped eslint from 9.39.1 to ^10.0.3 and @eslint/js to ^10.0.1 for monorepo tooling.
  • .nvmrc: Added Node version pin 20.20.0.
  • AGENTS.md: Added documentation rule requiring caret ranges for runtime dependencies and summarized version range rules by dependencies/devDependencies/peerDependencies.
  • All package.json files across the monorepo: Converted exact-pinned versions to caret ranges in both dependencies and devDependencies.
  • .changeset/fair-adults-cheat.md: Changeset for ESLint 10 support.
  • .changeset/chore-relax-dependency-version-ranges.md: Changeset for the dependency range relaxation.
  • 🔄 Regenerate and Update Summary
PR Bot Information

Version: 1.20.23

  • Summary Prompt: Default Prompt
  • LLM: anthropic--claude-4.6-sonnet
  • Output Template: Default Template
  • Correlation ID: 1688d78d-393a-47c1-b491-cbef321eb4cc
  • File Content Strategy: Diffs only
  • Event Trigger: pull_request.opened

marufrasully and others added 26 commits March 19, 2026 10:00
- examples/fe-fpm-cli: take mains newer @types/vinyl and typescript-eslint
- examples/ui-prompting-examples: take mains css-loader 7.1.4, keep eslint 9.39.1 (React package)
- package.json: keep eslint 10.0.3 from PR; take mains newer @types/node, esbuild, typescript-eslint
- eslint-plugin-fiori-tools: peerDep eslint set to >=9 (supports both 9 and 10)
- eslint-plugin-fiori-tools/src/index.ts: keep fioriRules alias in both config exports
- preview-middleware-client/eslint.config.js: take mains corrected tseslint.plugin/parser usage
Candidate 1 mta-config refactor files and RFC docs were accidentally
committed during the main merge. They belong on a separate
refactor/cf-deploy-config-mta-god-class branch.
- sap-no-override-rendering: add valid/invalid cases with custom ns options
  to cover the context.options[0]?.ns ternary branch
- create-table-custom-column-config-change: add test for findAnchor() IIFE
  branch when metaPath does not contain 'LineItem', triggering
  getLineItemAnnotation() to compute the annotation path
@marufrasully marufrasully requested review from a team as code owners April 22, 2026 09:00
@marufrasully marufrasully requested review from a team as code owners April 22, 2026 09:00
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 22, 2026

🦋 Changeset detected

Latest commit: 0acad1e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 83 packages
Name Type
@sap-ux/fe-fpm-cli Patch
@sap-ux-private/ui-prompting-examples Patch
@sap-ux/adp-flp-config-sub-generator Patch
@sap-ux/adp-tooling Patch
@sap-ux/annotation-generator Patch
@sap-ux/btp-utils Patch
@sap-ux/cf-deploy-config-sub-generator Patch
@sap-ux/cf-deploy-config-writer Patch
@sap-ux/deploy-config-generator-shared Patch
@sap-ux/deploy-config-sub-generator Patch
@sap-ux/eslint-plugin-fiori-tools Major
@sap-ux/fe-fpm-writer Patch
@sap-ux/fiori-annotation-api Patch
@sap-ux/fiori-app-sub-generator Patch
@sap-ux/fiori-mcp-server Patch
@sap-ux/fiori-tools-settings Patch
@sap-ux/flp-config-sub-generator Patch
@sap-ux/generator-adp Patch
@sap-ux/i18n Patch
@sap-ux/inquirer-common Patch
@sap-ux/jest-file-matchers Patch
@sap-ux/jest-runner-puppeteer Patch
@sap-ux/logger Patch
@sap-ux/mockserver-config-writer Patch
@sap-ux/nodejs-utils Patch
@sap-ux/odata-service-inquirer Patch
@sap-ux/odata-service-writer Patch
@sap-ux-private/playwright Patch
@sap-ux/project-access Patch
@sap-ux/project-input-validator Patch
@sap-ux/project-integrity Patch
@sap-ux/reload-middleware Patch
@sap-ux/repo-app-import-sub-generator Patch
@sap-ux/store Patch
@sap-ux/text-document-utils Patch
@sap-ux/ui-components Patch
@sap-ux/ui-prompting Patch
@sap-ux/ui-service-inquirer Patch
@sap-ux/ui-service-sub-generator Patch
@sap-ux/ui5-application-writer Patch
@sap-ux/ui5-config Patch
@sap-ux/ui5-info Patch
@sap-ux/ui5-library-reference-inquirer Patch
@sap-ux/ui5-library-reference-sub-generator Patch
@sap-ux/ui5-library-reference-writer Patch
@sap-ux/ui5-library-sub-generator Patch
@sap-ux/ui5-library-writer Patch
@sap-ux/ui5-proxy-middleware Patch
@sap-ux/ui5-test-writer Patch
@sap-ux/yaml Patch
@sap-ux/app-config-writer Patch
@sap-ux-private/preview-middleware-client Patch
@sap-ux/abap-deploy-config-sub-generator Patch
@sap-ux/backend-proxy-middleware-cf Patch
@sap-ux/create Patch
@sap-ux/flp-config-inquirer Patch
@sap-ux/preview-middleware Patch
@sap-ux/fiori-elements-writer Patch
@sap-ux/abap-deploy-config-inquirer Patch
@sap-ux/axios-extension Patch
@sap-ux/backend-proxy-middleware Patch
@sap-ux/cf-deploy-config-inquirer Patch
@sap-ux/deploy-tooling Patch
@sap-ux/environment-check Patch
@sap-ux/fiori-generator-shared Patch
@sap-ux/system-access Patch
@sap-ux/telemetry Patch
@sap-ux/odata-cli Patch
@sap-ux/generator-simple-fe Patch
@sap-ux/fiori-freestyle-writer Patch
@sap-ux/ui5-application-inquirer Patch
@sap-ux/ui5-library-inquirer Patch
@sap-ux/cap-config-writer Patch
@sap-ux/launch-config Patch
@sap-ux/serve-static-middleware Patch
@sap-ux-private/adaptation-editor-tests Patch
@sap-ux/abap-deploy-config-writer Patch
@sap-ux/cds-odata-annotation-converter Patch
@sap-ux/cds-annotation-parser Patch
@sap-ux/odata-annotation-core-types Patch
@sap-ux/odata-annotation-core Patch
@sap-ux/odata-vocabularies Patch
@sap-ux/xml-odata-annotation-converter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor

@hyperspace-insights hyperspace-insights Bot left a comment

Choose a reason for hiding this comment

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

The review has been concluded!

PR Bot Information

Version: 1.20.23

  • LLM: anthropic--claude-4.6-sonnet
  • Correlation ID: 1688d78d-393a-47c1-b491-cbef321eb4cc
  • File Content Strategy: Diffs only
  • Event Trigger: pull_request.opened
  • Agent Instructions:

@heimwege heimwege marked this pull request as draft April 22, 2026 09:05
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