feat: allow opting out of required package manager (#8738)
### Description
Give users the ability to opt out of the required package manager if
they feel strongly.
This is still highly discouraged as this prevents proper usage of daemon
package watching and leaves us dependent on system configuration to
infer the correct package manager.
Reviewer notes: Each commit can be reviewed on it's own. The second
commit just adds back code deleted in
https://github.com/vercel/turbo/pull/8017
### Testing Instructions
Added unit tests where applicable for configuration.
Quick manual verification of the config options:
```
[0 olszewski@chriss-mbp] /tmp/no-pm $ turbo_dev build
WARNING No locally installed `turbo` found. Using version: 2.0.7-canary.0.
× missing packageManager field in package.json
[1 olszewski@chriss-mbp] /tmp/no-pm $ turbo_dev build --dangerously-disable-package-manager-check --output-logs=none
WARNING No locally installed `turbo` found. Using version: 2.0.7-canary.0.
• Packages in scope: @repo/eslint-config, @repo/typescript-config, @repo/ui, docs, web
• Running build in 5 packages
• Remote caching disabled
Tasks: 2 successful, 2 total
Cached: 2 cached, 2 total
Time: 81ms >>> FULL TURBO
[0 olszewski@chriss-mbp] /tmp/no-pm $ TURBO_DANGEROUSLY_DISABLE_PACKAGE_MANAGER_CHECK=true turbo_dev build --output-logs=none
WARNING No locally installed `turbo` found. Using version: 2.0.7-canary.0.
• Packages in scope: @repo/eslint-config, @repo/typescript-config, @repo/ui, docs, web
• Running build in 5 packages
• Remote caching disabled
Tasks: 2 successful, 2 total
Cached: 2 cached, 2 total
Time: 210ms >>> FULL TURBO
[0 olszewski@chriss-mbp] /tmp/no-pm $ vim turbo.json
[0 olszewski@chriss-mbp] /tmp/no-pm $ tail -3 turbo.json
},
"dangerouslyDisablePackageManagerCheck": true
}
[0 olszewski@chriss-mbp] /tmp/no-pm $ turbo_dev build --output-logs=none
WARNING No locally installed `turbo` found. Using version: 2.0.7-canary.0.
• Packages in scope: @repo/eslint-config, @repo/typescript-config, @repo/ui, docs, web
• Running build in 5 packages
• Remote caching disabled
Tasks: 2 successful, 2 total
Cached: 2 cached, 2 total
Time: 53ms >>> FULL TURBO
```