Skip to content

Conversation

@risantos
Copy link

Description

  • Update ESLint to v9 using the update flatConfig format, and updating the project to comply with the updated rules.

Do NOT write here! This section will be filled in by GitHub Action
automatically. If you don't want this, either remove the markers or write
outside the fences.

Detail

Checklist

  • 💂‍♂️ includes new unit and functional tests

@risantos risantos requested review from a team as code owners September 23, 2025 20:20
@risantos risantos force-pushed the risantos/update-eslint branch 2 times, most recently from 2c27277 to 7fb7fa9 Compare September 23, 2025 20:34
- Updated `eslint` to `v9.36.0`
- Replace `@typescript-eslint/parser` and `@typescript-eslint/eslint-plugin` with `typescript-eslint`
- Migrated to new flat config format using `eslint.config.mjs`
- Updated related dependencies to compatible versions
- Replace outdate rule names
- Replace `any` types
- Pre-pend `_` to unused variables
@risantos risantos force-pushed the risantos/update-eslint branch from 7fb7fa9 to 713564d Compare October 22, 2025 12:50
Copilot AI review requested due to automatic review settings October 22, 2025 12:50
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR upgrades ESLint from version 8 to version 9, adopting the new flat configuration format and updating the codebase to comply with revised linting rules.

Key changes:

  • Migration from .eslintrc to eslint.config.mjs using the flat config format
  • Updated ESLint-related dependencies and replaced deprecated plugins
  • Code adjustments for compliance with new rules, primarily prefixing unused variables with underscores and improving type definitions

Reviewed Changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
package.json Updated ESLint and related plugin versions; modified lint script to use new configuration
eslint.config.mjs New flat configuration file defining linting rules for the project
.eslintrc Removed legacy ESLint configuration file
.eslintignore Removed legacy ignore file (now handled in flat config)
packages/zcli-core/src/lib/secureStore.ts Updated eslint-disable comments to use new rule names; prefixed unused error variables
packages/zcli-core/src/lib/secretType.ts Removed unused eslint-disable comment; alphabetized enum values
packages/zcli-core/src/lib/request.ts Prefixed unused parameter with underscore
packages/zcli-core/src/lib/env.ts Improved type definition from any[] to string[]
packages/zcli-apps/src/types.ts Replaced any with proper types for better type safety
packages/zcli-apps/src/utils/createApp.ts Replaced any with specific type definitions
packages/zcli-apps/src/utils/uploadApp.ts Added explicit Promise return type
packages/zcli-apps/src/commands/apps/create.ts Replaced any destructuring with typed object
packages/zcli-apps/src/commands/apps/update.ts Replaced any destructuring with typed object
packages/zcli-apps/src/commands/apps/clean.ts Prefixed unused error variable with underscore
packages/zcli-apps/src/lib/buildAppJSON.ts Improved type definitions; added type assertions for location properties
packages/zcli-apps/src/lib/buildAppJSON.test.ts Removed eslint-disable comments for empty functions
packages/zcli-apps/src/lib/package.test.ts Changed error handling to use unknown type with proper type assertions
packages/zcli-apps/tests/functional/server.test.ts Updated eslint-disable comment to use new rule name
packages/zcli-themes/src/lib/getManifest.ts Prefixed unused error variable with underscore
packages/zcli-themes/src/lib/getAssets.test.ts Replaced as any with proper type casting
packages/zcli-themes/src/lib/getVariables.test.ts Replaced as any with proper type casting
packages/zcli-themes/src/lib/zass.ts Prefixed unused error variable with underscore
packages/zcli-themes/tests/functional/update.test.ts Prefixed unused context parameter with underscore

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

import standard from 'eslint-config-standard'
import tseslint from 'typescript-eslint'

export default defineConfig([
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

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

The 'defineConfig' wrapper is unnecessary in ESLint v9 flat config. The configuration should be exported as a plain array. Replace 'defineConfig([...])' with just the array: 'export default [...]'.

Copilot uses AI. Check for mistakes.
Comment on lines +76 to +79
globalIgnores([
'node_modules',
'packages/**/node_modules'
])
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

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

The 'globalIgnores' helper is not a standard ESLint v9 export. Use the 'ignores' property directly in a configuration object instead: { ignores: ['node_modules', 'packages/**/node_modules'] }.

Copilot uses AI. Check for mistakes.
url: locations[product][locationName] as string
}
}

Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

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

[nitpick] This blank line appears to be unintentionally added. Consider removing it to maintain consistent spacing with the surrounding code.

Suggested change

Copilot uses AI. Check for mistakes.
@mtsolakiszen
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@mtsolakiszen mtsolakiszen added the wontfix This will not be worked on label Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wontfix This will not be worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants