Drop Py3.9, add Py3.14, remove npm dev deps#379
Conversation
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #379 +/- ##
=======================================
Coverage 81.86% 81.86%
=======================================
Files 48 48
Lines 2768 2768
=======================================
Hits 2266 2266
Misses 502 502
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
This PR removes npm development dependencies (opener, rimraf, run-script-os) from the project and replaces them with a Python script, allowing npm to be used purely as a task runner without requiring node_modules.
Key Changes:
- Created a new Python script (
scripts/tasks.py) to handle documentation opening and virtual environment management tasks - Updated npm scripts in
package.jsonto call the Python script instead of npm packages - Removed all npm dev dependencies and the package-lock.json file
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/tasks.py | New Python script providing doc-open, env-active, and env-delete functionality previously handled by npm packages |
| package.json | Updated npm scripts to invoke Python tasks and removed devDependencies section |
| package-lock.json | Removed entirely as there are no longer any npm dependencies to track |
| docs/README.md | Updated build instructions to remove the npm install step |
| .npmrc | Removed configuration file as it's no longer needed without dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| path = "docs/build/html/index.html" | ||
| print(f"Opening {path} in web browser...") | ||
| abs_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), path) | ||
| webbrowser.open("file://" + abs_path.replace("\\", "/")) |
There was a problem hiding this comment.
[nitpick] The path construction using os.path.dirname(os.path.dirname(os.path.abspath(__file__))) assumes the script is always in scripts/ directory. Consider using a more robust approach with os.getcwd() or checking if the file exists before opening.
| path = "docs/build/html/index.html" | |
| print(f"Opening {path} in web browser...") | |
| abs_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), path) | |
| webbrowser.open("file://" + abs_path.replace("\\", "/")) | |
| path = os.path.join(os.getcwd(), "docs", "build", "html", "index.html") | |
| if not os.path.exists(path): | |
| print(f"Error: Documentation file not found at {path}") | |
| return | |
| print(f"Opening {path} in web browser...") | |
| webbrowser.open("file://" + path.replace("\\", "/")) |
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
f849178 to
e86899c
Compare
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
zFernand0
left a comment
There was a problem hiding this comment.
LGTM! 😋
I like where this is going! 🙏
Do we need to update any user-facing (zowe docs) content to state that we are dropping support for Python 3.9?
d7a995e to
62734cc
Compare
Signed-off-by: Timothy Johnson <timothy.johnson@broadcom.com>
@zFernand0 I believe we are good because Zowe docs link to the Python SDK docs which have been updated in this PR: https://zowe-client-python-sdk--379.org.readthedocs.build/en/379/usage/requirements.html |
traeok
left a comment
There was a problem hiding this comment.
Thanks for working on this Timothy, had a quick question about the comment in secrets-sdk workflow
|
Release succeeded for the The following packages have been published:
Powered by Octorelease 🚀 |
What It Does
Removes npm deps so that
npmis used purely as a task runner and there are nonode_modulesneeded 😋Also drops support for Python 3.9 which reached EoL and adds Python 3.14 to the build matrix.
How to Test
Test the npm scripts
doc:open,env:active,env:deleteReview Checklist
I certify that I have:
Additional Comments