31 lines
2.1 KiB
Plaintext
31 lines
2.1 KiB
Plaintext
# Task ID: 59
|
|
# Title: Remove Manual Package.json Modifications and Implement Automatic Dependency Management
|
|
# Status: pending
|
|
# 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
|