We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 545bf16 commit 92cb8baCopy full SHA for 92cb8ba
.eslintignore
@@ -1,2 +1,2 @@
1
test
2
-browser-test
+browser-test
.eslintrc
@@ -4,7 +4,7 @@
4
"env": {
5
"mocha": true
6
},
7
- rules: {
+ "rules": {
8
"comma-dangle": ["error", "only-multiline"]
9
}
10
README.md
@@ -17,7 +17,7 @@ $ npm install --save browser-or-node
17
ES6 style import
18
19
```js
20
-import { isBrowser, isNode, isWebWorker, isJsDom } from "browser-or-node";
+import { isBrowser, isNode, isWebWorker, isJsDom, isDeno } from "browser-or-node";
21
22
if (isBrowser) {
23
// do browser only stuff
@@ -34,6 +34,10 @@ if (isWebWorker) {
34
if (isJsDom) {
35
// do jsdom only stuff
36
37
+
38
+if (isDeno) {
39
+ // do deno only stuff
40
+}
41
```
42
43
ES5 style import
@@ -56,8 +60,12 @@ if (jsEnv.isWebWorker) {
56
60
if (jsEnv.isJsDom) {
57
61
58
62
63
64
+if (jsEnv.isDeno) {
65
66
59
67
68
69
## License
70
-MIT © Dineshkumar Pandiyan
71
+MIT © Dineshkumar Pandiyan
browser-test/index.js
@@ -15,7 +15,8 @@ if (window.Worker) {
15
const myWorker = new Worker("worker.js");
16
myWorker.onmessage = function(e) {
- let res = e.data;
+ const _res = e.data;
console.log('Web worker reports:');
console.log(' isBrowser: ' + e.data[0]);
console.log(' isWebWorker: ' + e.data[1]);
browser-test/server.js
@@ -6,11 +6,11 @@ const app = express();
// app.use(express.static(path.join(__dirname, 'public')));
// app.use('/static', express.static(path.join(__dirname, 'public')));
-app.get('/', function(req, res) {
+app.get('/', function(_req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
11
});
12
13
-app.get('/worker.js', function(req, res) {
+app.get('/worker.js', function(_req, res) {
14
res.sendFile(path.join(__dirname + '/worker.js'));
@@ -19,11 +19,11 @@ app.get('/worker.js', function(req, res) {
res.sendFile(path.join(__dirname + '../../src/index.js'));
*/
-app.get('/index.js', function(req, res) {
+app.get('/index.js', function(_req, res) {
res.sendFile(path.join(__dirname + '/index.js'));
24
25
26
-app.get('/browser-or-node.js', function(req, res) {
+app.get('/browser-or-node.js', function(_req, res) {
27
28
29
browser-test/worker.js
@@ -18,6 +18,6 @@ const isNode =
process.versions != null &&
process.versions.node != null;
-onmessage = function(e) {
+onmessage = function(_e) {
postMessage( [isBrowser, isWebWorker, isNode] );
src/index.js
@@ -17,10 +17,12 @@ const isNode = typeof process !== 'undefined'
* @see https://github.com/jsdom/jsdom/issues/1537
/* eslint-disable no-undef */
-const isJsDom = () => (typeof window !== 'undefined' && window.name === 'nodejs')
+const isJsDom = (() => (typeof window !== 'undefined' && window.name === 'nodejs')
|| navigator.userAgent.includes('Node.js')
- || navigator.userAgent.includes('jsdom');
+ || navigator.userAgent.includes('jsdom'))();
+const isDeno = typeof Deno !== 'undefined' && typeof Deno.core !== 'undefined';
export {
- isBrowser, isWebWorker, isNode, isJsDom
-};
+ isBrowser, isWebWorker, isNode, isJsDom, isDeno
+};
test/index.js
@@ -1,10 +1,13 @@
import { assert } from 'chai';
-import { isBrowser, isWebBrowser, isNode } from '../src';
+import { isBrowser, isWebBrowser, isNode, isDeno, isJsDom } from '../src';
3
-console.log(isNode);
+console.log('Browser?', isBrowser);
+console.log('Node?', isNode);
+console.log('Web browser?', isWebBrowser);
+console.log('JS Dom?', isJsDom);
+console.log('Deno?', isDeno);
describe('Browser or Node.js', () => {
-
it('should check node env', () => {
assert(isNode === true, 'isNode didn\'t work :(');
@@ -17,5 +20,4 @@ describe('Browser or Node.js', () => {
it('should check web worker env', () => {
assert(isNode === true, 'isWebWorker didn\'t work :(');
-});
+});
test/index.ts
@@ -0,0 +1,5 @@
+// Special check for isDeno
+// Run with `deno run test/index.ts`
+import { isDeno } from '../src/index.js';
+console.log(isDeno);
0 commit comments