time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

index.js (558B)


      1 'use strict';
      2 const os = require('os');
      3 const fs = require('fs');
      4 const isDocker = require('is-docker');
      5 
      6 const isWsl = () => {
      7 	if (process.platform !== 'linux') {
      8 		return false;
      9 	}
     10 
     11 	if (os.release().toLowerCase().includes('microsoft')) {
     12 		if (isDocker()) {
     13 			return false;
     14 		}
     15 
     16 		return true;
     17 	}
     18 
     19 	try {
     20 		return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
     21 			!isDocker() : false;
     22 	} catch (_) {
     23 		return false;
     24 	}
     25 };
     26 
     27 if (process.env.__IS_WSL_TEST__) {
     28 	module.exports = isWsl;
     29 } else {
     30 	module.exports = isWsl();
     31 }