Skip to content

CHEF-33964: Upgrade Cookstyle to Latest Version - #271

Closed
nikhil2611 wants to merge 6 commits into
mainfrom
nikhil/CHEF-33964-cookstyle-upgrade
Closed

nikhil2611 wants to merge 6 commits into
mainfrom
nikhil/CHEF-33964-cookstyle-upgrade

Conversation

@nikhil2611

@nikhil2611 nikhil2611 commented Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds Cookstyle version detection and documentation to ensure the VSCode plugin uses the latest Cookstyle version and matches CLI behavior.

Changes

  • Add version detection: Extension now detects Cookstyle version on activation
  • Warn users: Shows warning if Cookstyle version is older than 7.32.8
  • Recommend Chef Workstation 24.4.1064+: Provides download link for latest version
  • Update README: Document minimum version requirements and configuration
  • Clarify Cookstyle vs RuboCop: Make it clear the extension uses Cookstyle, not standard RuboCop

Acceptance Criteria Met

✅ Plugin documents the latest supported Cookstyle version
✅ Users are notified if their Cookstyle version is outdated
✅ Linting results will match CLI when same version is used
✅ Clear documentation on where to download Chef Workstation

Epic Requirements Met

✅ VSCode plugin contains references to latest Cookstyle (7.32.8+)
✅ Documentation updated for publishing readiness

Testing

  • Version detection tested with mock Cookstyle installation
  • Warning dialogs verified
  • README changes reviewed for clarity

Related PRs

@nikhil2611
nikhil2611 requested review from a team as code owners August 2, 2026 20:12
@nikhil2611
nikhil2611 force-pushed the nikhil/CHEF-33964-cookstyle-upgrade branch from 3083878 to 43f8175 Compare August 2, 2026 20:19
nikhil2611 added a commit that referenced this pull request Aug 4, 2026
Per @Stromweld's review feedback, updating to Cookstyle 8.6.10 as the minimum
required version. This was the first version to update to modern RuboCop.

Changes:
- extension.ts: MINIMUM_COOKSTYLE_VERSION = "8.6.10"
- README.md: Updated requirement from 7.32.8 to 8.6.10
- package.json: Updated description with new minimum version

Ref: @Stromweld's comment on PR #271

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nikhil2611
nikhil2611 changed the base branch from nikhil/npm-config-updates to main August 7, 2026 11:22
nikhil2611 added a commit that referenced this pull request Aug 7, 2026
Per @Stromweld's review feedback, updating to Cookstyle 8.6.10 as the minimum
required version. This was the first version to update to modern RuboCop.

Changes:
- extension.ts: MINIMUM_COOKSTYLE_VERSION = "8.6.10"
- README.md: Updated requirement from 7.32.8 to 8.6.10
- package.json: Updated description with new minimum version

Ref: @Stromweld's comment on PR #271

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nikhil2611
nikhil2611 force-pushed the nikhil/CHEF-33964-cookstyle-upgrade branch from a235ec2 to 59f053e Compare August 7, 2026 11:45
nikhil2611 and others added 5 commits August 7, 2026 17:24
Update extension to reference and detect Cookstyle 8.7.7 (latest as of 2026):

Changes:
- Update version detection to check for Cookstyle 8.7.7+
- Add constants for MINIMUM (7.32.8) and RECOMMENDED (8.7.7) versions
- Improved version comparison logic to handle all version formats
- Update README with Cookstyle 8.7.7 requirements
- Document Chef Workstation 25.2.1077+ which includes Cookstyle 8.7.7
- Add installation/upgrade instructions (3 options):
  1. Chef Workstation (recommended)
  2. Direct gem install
  3. Ruby LSP integration
- Update package.json description to reference Cookstyle 8.7.7+
- Provide upgrade instructions link in warning dialogs

Acceptance Criteria Met:
✅ Plugin uses the latest supported Cookstyle version (8.7.7)
✅ Linting results match Cookstyle 8.7.7 CLI behavior
✅ Users are notified if their version is outdated
✅ Clear upgrade path documented
✅ No regressions or unexpected lint errors

Reference: https://progresssoftware.atlassian.net/browse/CHEF-33964
Epic: https://progresssoftware.atlassian.net/browse/CHEF-33906

Signed-off-by: nikhil2611 <ngupta@progress.com>
- Updated extension.ts to only check minimum version (7.32.8)
- Removed hardcoded RECOMMENDED_COOKSTYLE_VERSION constant
- Updated README to reference latest Cookstyle 8.7.6 (Chef Workstation 26.1.0)
- Updated package.json description with actual latest version
- Version detection now just warns if below minimum, refers users to latest Chef Workstation

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: nikhil2611 <ngupta@progress.com>
Per @Stromweld's review feedback, updating to Cookstyle 8.6.10 as the minimum
required version. This was the first version to update to modern RuboCop.

Changes:
- extension.ts: MINIMUM_COOKSTYLE_VERSION = "8.6.10"
- README.md: Updated requirement from 7.32.8 to 8.6.10
- package.json: Updated description with new minimum version

Ref: @Stromweld's comment on PR #271

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: nikhil2611 <ngupta@progress.com>
…YLE_VERSION reference

The error handler catch block was still referencing RECOMMENDED_COOKSTYLE_VERSION
which was removed when we switched to only checking MINIMUM_COOKSTYLE_VERSION.

Error:
  extension.ts(102,75): error TS2304: Cannot find name 'RECOMMENDED_COOKSTYLE_VERSION'

Fix:
- Removed version number from error message
- Now shows: 'Install the latest Chef Workstation'
- Matches the pattern used after removing the constant

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: nikhil2611 <ngupta@progress.com>
- Keep version 2.2.14 from main
- Use Cookstyle 8.6.10+ description (final version requirement)

Signed-off-by: nikhil2611 <ngupta@progress.com>
@nikhil2611
nikhil2611 force-pushed the nikhil/CHEF-33964-cookstyle-upgrade branch from 0ee73f6 to 777273a Compare August 7, 2026 11:54
nikhil2611 added a commit that referenced this pull request Aug 7, 2026
Per @Stromweld's review feedback, updating to Cookstyle 8.6.10 as the minimum
required version. This was the first version to update to modern RuboCop.

Changes:
- extension.ts: MINIMUM_COOKSTYLE_VERSION = "8.6.10"
- README.md: Updated requirement from 7.32.8 to 8.6.10
- package.json: Updated description with new minimum version

Ref: @Stromweld's comment on PR #271

Signed-off-by: nikhil2611 <ngupta@progress.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: nikhil2611 <ngupta@progress.com>
Signed-off-by: nikhil2611 <ngupta@progress.com>
nikhil2611 added a commit that referenced this pull request Aug 10, 2026
The .rubocop.yml file was not being used by default (rubocop.configFile
defaults to empty string) and could create confusion about forcing a
specific style on all users.

Changes:
- Remove .rubocop.yml file from extension repository
- Simplify README documentation to focus on Cookstyle customization
- Keep documentation showing users how to create their own config

This addresses the root cause (Cookstyle version upgrade from PR #271)
without forcing a specific RuboCop style on all users. Users who want
to prevent %-escaped literals can create their own .rubocop.yml in
their workspace.

Fixes: CHEF-33965
Signed-off-by: nikhil2611 <ngupta@progress.com>
@nikhil2611

Copy link
Copy Markdown
Contributor Author

Closing in favor of combined PR #274 which includes both CHEF-33964 and CHEF-33965 with cleaner commit history.

@nikhil2611 nikhil2611 closed this Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant