69 lines
4.1 KiB
Plaintext
69 lines
4.1 KiB
Plaintext
# Task ID: 59
|
|
# Title: Remove Manual Package.json Modifications and Implement Automatic Dependency Management
|
|
# Status: done
|
|
# Dependencies: None
|
|
# Priority: medium
|
|
# Description: Eliminate code that manually modifies users' package.json files and implement proper npm dependency management that automatically handles package requirements when users install task-master-ai.
|
|
# Details:
|
|
Currently, the application is attempting to manually modify users' package.json files, which is not the recommended approach for npm packages. Instead:
|
|
|
|
1. Review all code that directly manipulates package.json files in users' projects
|
|
2. Remove these manual modifications
|
|
3. Properly define all dependencies in the package.json of task-master-ai itself
|
|
4. Ensure all peer dependencies are correctly specified
|
|
5. For any scripts that need to be available to users, use proper npm bin linking or npx commands
|
|
6. Update the installation process to leverage npm's built-in dependency management
|
|
7. If configuration is needed in users' projects, implement a proper initialization command that creates config files rather than modifying package.json
|
|
8. Document the new approach in the README and any other relevant documentation
|
|
|
|
This change will make the package more reliable, follow npm best practices, and prevent potential conflicts or errors when modifying users' project files.
|
|
|
|
# Test Strategy:
|
|
1. Create a fresh test project directory
|
|
2. Install the updated task-master-ai package using npm install task-master-ai
|
|
3. Verify that no code attempts to modify the test project's package.json
|
|
4. Confirm all dependencies are properly installed in node_modules
|
|
5. Test all commands to ensure they work without the previous manual package.json modifications
|
|
6. Try installing in projects with various existing configurations to ensure no conflicts occur
|
|
7. Test the uninstall process to verify it cleanly removes the package without leaving unwanted modifications
|
|
8. Verify the package works in different npm environments (npm 6, 7, 8) and with different Node.js versions
|
|
9. Create an integration test that simulates a real user workflow from installation through usage
|
|
|
|
# Subtasks:
|
|
## 1. Conduct Code Audit for Dependency Management [done]
|
|
### Dependencies: None
|
|
### Description: Review the current codebase to identify all areas where dependencies are manually managed, modified, or referenced outside of npm best practices.
|
|
### Details:
|
|
Focus on scripts, configuration files, and any custom logic related to dependency installation or versioning.
|
|
|
|
## 2. Remove Manual Dependency Modifications [done]
|
|
### Dependencies: 59.1
|
|
### Description: Eliminate any custom scripts or manual steps that alter dependencies outside of npm's standard workflow.
|
|
### Details:
|
|
Refactor or delete code that manually installs, updates, or modifies dependencies, ensuring all dependency management is handled via npm.
|
|
|
|
## 3. Update npm Dependencies [done]
|
|
### Dependencies: 59.2
|
|
### Description: Update all project dependencies using npm, ensuring versions are current and compatible, and resolve any conflicts.
|
|
### Details:
|
|
Run npm update, audit for vulnerabilities, and adjust package.json and package-lock.json as needed.
|
|
|
|
## 4. Update Initialization and Installation Commands [done]
|
|
### Dependencies: 59.3
|
|
### Description: Revise project setup scripts and documentation to reflect the new npm-based dependency management approach.
|
|
### Details:
|
|
Ensure that all initialization commands (e.g., npm install) are up-to-date and remove references to deprecated manual steps.
|
|
|
|
## 5. Update Documentation [done]
|
|
### Dependencies: 59.4
|
|
### Description: Revise project documentation to describe the new dependency management process and provide clear setup instructions.
|
|
### Details:
|
|
Update README, onboarding guides, and any developer documentation to align with npm best practices.
|
|
|
|
## 6. Perform Regression Testing [done]
|
|
### Dependencies: 59.5
|
|
### Description: Run comprehensive tests to ensure that the refactor has not introduced any regressions or broken existing functionality.
|
|
### Details:
|
|
Execute automated and manual tests, focusing on areas affected by dependency management changes.
|
|
|