Handle spread flags in command flags lint rule#7853
Open
alfonso-noriega wants to merge 1 commit into
Open
Conversation
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.
WHY are these changes introduced?
The custom
@shopify/cli/command-flags-with-envESLint rule can crash while linting command classes that include spread flag definitions or shared flag objects.Recent CI failures showed:
TypeError: Cannot read properties of undefined (reading 'map')Rule: "@shopify/cli/command-flags-with-env"WHAT is this pull request doing?
Updates the rule to skip flag entries that do not have inline option object properties, such as spread elements or shared flag references, instead of assuming every entry is a direct
Flags.*({...})call.How to test your changes?
node <inline ESLint smoke test>— verified a fixture with...globalFlags, an inline env-backed flag, and a shared flag reference lints without fatal errors and reports[].pnpm eslint packages/eslint-plugin-cli/rules/command-flags-with-env.jspnpm nx run store:lint— attempted, but it currently fails on unrelated existing lint issues inpackages/store/src/cli/services/store/auth/callback.test.tsandpackages/store/src/cli/services/store/auth/token-client.ts.Post-release steps
None.
Checklist