Skip to content

Commit ccf47ba

Browse files
authored
Merge pull request #9 from jeskew/feature/node-env-detection
Add an isNode module
2 parents 2aeb014 + 0891211 commit ccf47ba

File tree

5 files changed

+55
-0
lines changed

5 files changed

+55
-0
lines changed

packages/is-node/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.js
2+
*.js.map
3+
*.d.ts

packages/is-node/__tests__/index.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { isNode } from "../";
2+
3+
describe("isNode", () => {
4+
it("should return true when running in a Node.JS environment", () => {
5+
// jest only runs in node, so this will always be true
6+
expect(isNode()).toBe(true);
7+
});
8+
9+
it("should return false when the global process object does not exist", () => {
10+
const process = global.process;
11+
try {
12+
delete global.process;
13+
expect(isNode()).toBe(false);
14+
} finally {
15+
global.process = process;
16+
}
17+
});
18+
});

packages/is-node/index.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export function isNode(): boolean {
2+
return (
3+
Object.prototype.toString.call(
4+
typeof process !== "undefined" ? process : 0
5+
) === "[object process]"
6+
);
7+
}

packages/is-node/package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "@aws/is-node",
3+
"private": true,
4+
"version": "0.0.1",
5+
"description": "Provides a function for detecting if the host environment is Node.JS",
6+
"scripts": {
7+
"pretest": "tsc",
8+
"test": "jest"
9+
},
10+
"author": "[email protected]",
11+
"license": "UNLICENSED",
12+
"main": "index.js",
13+
"devDependencies": {
14+
"@types/jest": "^19.2.2",
15+
"@types/node": "^7.0.12",
16+
"jest": "^19.0.2",
17+
"typescript": "^2.3"
18+
}
19+
}

packages/is-node/tsconfig.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"compilerOptions": {
3+
"target": "es5",
4+
"module": "commonjs",
5+
"declaration": true,
6+
"strict": true
7+
}
8+
}

0 commit comments

Comments
 (0)