10
0

index.js 572 B

123456789101112131415161718192021222324252627
  1. import process from 'node:process';
  2. import os from 'node:os';
  3. import fs from 'node:fs';
  4. import isInsideContainer from 'is-inside-container';
  5. const isWsl = () => {
  6. if (process.platform !== 'linux') {
  7. return false;
  8. }
  9. if (os.release().toLowerCase().includes('microsoft')) {
  10. if (isInsideContainer()) {
  11. return false;
  12. }
  13. return true;
  14. }
  15. try {
  16. return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft')
  17. ? !isInsideContainer() : false;
  18. } catch {
  19. return false;
  20. }
  21. };
  22. export default process.env.__IS_WSL_TEST__ ? isWsl : isWsl();