which-os 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,21 @@
1
1
  # which-os [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![npm version](https://img.shields.io/npm/v/which-os.svg?style=flat)](https://www.npmjs.com/package/which-os)
2
2
 
3
- Get informations about your OS
3
+ Get informations about your OS.
4
4
 
5
- ## Usage
5
+ ## Prerequisites
6
+
7
+ - [Node.js](https://nodejs.org) >= 14
8
+ - npm (preinstalled) or [yarn](https://classic.yarnpkg.com)
9
+
10
+ ## Installation
6
11
 
7
- Just run `npx which-os`.
12
+ ℹ️ This is a hybrid [CommonJS](https://nodejs.org/docs/latest/api/modules.html#modules-commonjs-modules) / [ESM](https://nodejs.org/api/esm.html#introduction) module.
13
+
14
+ Run `yarn add which-os` or `npm i which-os`.
15
+
16
+ Or simply run `npx which-os`.
17
+
18
+ ## Usage
8
19
 
9
20
  ```
10
21
  Usage: which-os [options]
@@ -1,16 +1,9 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const commander_1 = require("commander");
5
- const fs = require("fs");
6
- const path = require("path");
7
- const util_1 = require("util");
8
- const whichOS = require("./which-os");
9
- const defaultPackageJsonPath = path.join(__dirname, 'package.json');
10
- const packageJsonPath = fs.existsSync(defaultPackageJsonPath)
11
- ? defaultPackageJsonPath
12
- : path.join(__dirname, '../package.json');
13
- const { description, name, version } = require(packageJsonPath);
2
+ import { program as commander } from 'commander';
3
+ import { inspect } from 'node:util';
4
+ import fs from 'node:fs';
5
+ import * as whichOS from './which-os.js';
6
+ const { description, name, version } = JSON.parse(fs.readFileSync('../package.json', 'utf-8'));
14
7
  const capitalize = (name) => `${name.charAt(0).toUpperCase()}${name.slice(1)}`;
15
8
  const options = [
16
9
  {
@@ -51,18 +44,18 @@ const options = [
51
44
  },
52
45
  ];
53
46
  for (const option of options) {
54
- commander_1.program.option(`--is-${option.short}`, option.description);
47
+ commander.option(`--is-${option.short}`, option.description);
55
48
  }
56
- commander_1.program
49
+ commander
57
50
  .name(name.replace(/^@[^/]+\//, ''))
58
51
  .option('-i, --os-info', 'Output all OS informations')
59
52
  .option('-V, --verbose', 'Enable verbose output')
60
53
  .description(description)
61
54
  .version(version, '-v, --version')
62
55
  .parse(process.argv);
63
- const commanderOptions = commander_1.program.opts();
56
+ const commanderOptions = commander.opts();
64
57
  if (commanderOptions.osInfo) {
65
- console.info((0, util_1.inspect)(whichOS.getOsInfo(), true, Infinity, true));
58
+ console.info(inspect(whichOS.getOsInfo(), true, Infinity, true));
66
59
  process.exit();
67
60
  }
68
61
  let archResult = null;
@@ -83,7 +76,7 @@ for (const option of options) {
83
76
  }
84
77
  }
85
78
  if (osResult === null && archResult === null) {
86
- commander_1.program.help();
79
+ commander.help();
87
80
  }
88
81
  if (osResult === false || archResult === false) {
89
82
  process.exit(1);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './which-os.js';
@@ -0,0 +1,2 @@
1
+ export * from './which-os.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import * as os from 'os';
3
+ import os from 'node:os';
4
4
  interface OSInfo {
5
5
  arch: string;
6
6
  constants: {
@@ -0,0 +1,28 @@
1
+ import os from 'node:os';
2
+ import process from 'node:process';
3
+ const platform = os.platform();
4
+ export function getOsInfo() {
5
+ return Object.entries(os)
6
+ .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))
7
+ .reduce((map, [key, value]) => {
8
+ if (typeof value === 'function') {
9
+ if (key.startsWith('set')) {
10
+ return map;
11
+ }
12
+ // eslint-disable-next-line
13
+ map[key] = value();
14
+ }
15
+ else {
16
+ map[key] = JSON.parse(JSON.stringify(value));
17
+ }
18
+ return map;
19
+ }, {});
20
+ }
21
+ export const isDarwin = () => platform === 'darwin';
22
+ export const isLinux = () => platform === 'linux';
23
+ export const isWin32 = () => platform === 'win32';
24
+ export const isX64 = () => process.arch === 'x64';
25
+ export const isARM = () => process.arch === 'arm';
26
+ export const isIA32 = () => process.arch === 'ia32';
27
+ export { isDarwin as isMacOS, isWin32 as isWin, isWin32 as isWindows };
28
+ //# sourceMappingURL=which-os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"which-os.js","sourceRoot":"","sources":["../../src/which-os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AA4B/B,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,GAAG,CAAC;aACZ;YACD,2BAA2B;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAI,KAAa,EAAE,CAAC;SAC7B;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAE7D,OAAO,EAAC,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,SAAS,EAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { inspect } from 'node:util';
4
+ import fs from 'node:fs';
5
+ import * as whichOS from './which-os.js';
6
+ const { description, name, version } = JSON.parse(fs.readFileSync('../package.json', 'utf-8'));
7
+ const capitalize = (name) => `${name.charAt(0).toUpperCase()}${name.slice(1)}`;
8
+ const options = [
9
+ {
10
+ category: 'osType',
11
+ description: 'Is the operating system Linux?',
12
+ fn: whichOS.isLinux,
13
+ short: 'linux',
14
+ },
15
+ {
16
+ category: 'osType',
17
+ description: 'Is the operating system macOS?',
18
+ fn: whichOS.isMacOS,
19
+ short: 'macos',
20
+ },
21
+ {
22
+ category: 'osType',
23
+ description: 'Is the operating system Windows?',
24
+ fn: whichOS.isWindows,
25
+ short: 'windows',
26
+ },
27
+ {
28
+ category: 'archType',
29
+ description: 'Is the processor architecture x64?',
30
+ fn: whichOS.isX64,
31
+ short: 'x64',
32
+ },
33
+ {
34
+ category: 'archType',
35
+ description: 'Is the processor architecture ia32?',
36
+ fn: whichOS.isIA32,
37
+ short: 'ia32',
38
+ },
39
+ {
40
+ category: 'archType',
41
+ description: 'Is the processor architecture ARM?',
42
+ fn: whichOS.isARM,
43
+ short: 'arm',
44
+ },
45
+ ];
46
+ for (const option of options) {
47
+ commander.option(`--is-${option.short}`, option.description);
48
+ }
49
+ commander
50
+ .name(name.replace(/^@[^/]+\//, ''))
51
+ .option('-i, --os-info', 'Output all OS informations')
52
+ .option('-V, --verbose', 'Enable verbose output')
53
+ .description(description)
54
+ .version(version, '-v, --version')
55
+ .parse(process.argv);
56
+ const commanderOptions = commander.opts();
57
+ if (commanderOptions.osInfo) {
58
+ console.info(inspect(whichOS.getOsInfo(), true, Infinity, true));
59
+ process.exit();
60
+ }
61
+ let archResult = null;
62
+ let osResult = null;
63
+ for (const option of options) {
64
+ const command = `is${capitalize(option.short)}`;
65
+ if (typeof commanderOptions[command] !== 'undefined') {
66
+ const result = option.fn();
67
+ if (!!commanderOptions.verbose) {
68
+ console.info(option.description, result);
69
+ }
70
+ if (option.category === 'archType') {
71
+ archResult = result;
72
+ }
73
+ else if (option.category === 'osType') {
74
+ osResult = result;
75
+ }
76
+ }
77
+ }
78
+ if (osResult === null && archResult === null) {
79
+ commander.help();
80
+ }
81
+ if (osResult === false || archResult === false) {
82
+ process.exit(1);
83
+ }
84
+ else {
85
+ process.exit(0);
86
+ }
87
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './which-os.js';
@@ -0,0 +1,2 @@
1
+ export * from './which-os.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,36 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import os from 'node:os';
4
+ interface OSInfo {
5
+ arch: string;
6
+ constants: {
7
+ errno: Record<string, number>;
8
+ priority: Record<string, number>;
9
+ signals: Record<string, number>;
10
+ UV_UDP_REUSEADDR: number;
11
+ };
12
+ cpus: os.CpuInfo[];
13
+ endianness: 'BE' | 'LE';
14
+ EOL: string;
15
+ freemem: number;
16
+ getPriority: number;
17
+ homedir: string;
18
+ hostname: string;
19
+ loadavg: number[];
20
+ networkInterfaces: Record<string, os.NetworkInterfaceInfo[]>;
21
+ platform: NodeJS.Platform;
22
+ release: string;
23
+ tmpdir: string;
24
+ totalmem: number;
25
+ type: string;
26
+ uptime: number;
27
+ userInfo: os.UserInfo<string>;
28
+ }
29
+ export declare function getOsInfo(): OSInfo;
30
+ export declare const isDarwin: () => boolean;
31
+ export declare const isLinux: () => boolean;
32
+ export declare const isWin32: () => boolean;
33
+ export declare const isX64: () => boolean;
34
+ export declare const isARM: () => boolean;
35
+ export declare const isIA32: () => boolean;
36
+ export { isDarwin as isMacOS, isWin32 as isWin, isWin32 as isWindows };
@@ -0,0 +1,28 @@
1
+ import os from 'node:os';
2
+ import process from 'node:process';
3
+ const platform = os.platform();
4
+ export function getOsInfo() {
5
+ return Object.entries(os)
6
+ .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))
7
+ .reduce((map, [key, value]) => {
8
+ if (typeof value === 'function') {
9
+ if (key.startsWith('set')) {
10
+ return map;
11
+ }
12
+ // eslint-disable-next-line
13
+ map[key] = value();
14
+ }
15
+ else {
16
+ map[key] = JSON.parse(JSON.stringify(value));
17
+ }
18
+ return map;
19
+ }, {});
20
+ }
21
+ export const isDarwin = () => platform === 'darwin';
22
+ export const isLinux = () => platform === 'linux';
23
+ export const isWin32 = () => platform === 'win32';
24
+ export const isX64 = () => process.arch === 'x64';
25
+ export const isARM = () => process.arch === 'arm';
26
+ export const isIA32 = () => process.arch === 'ia32';
27
+ export { isDarwin as isMacOS, isWin32 as isWin, isWin32 as isWindows };
28
+ //# sourceMappingURL=which-os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"which-os.js","sourceRoot":"","sources":["../../src/which-os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AA4B/B,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,GAAG,CAAC;aACZ;YACD,2BAA2B;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAI,KAAa,EAAE,CAAC;SAC7B;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAE7D,OAAO,EAAC,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,SAAS,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,27 @@
1
1
  {
2
2
  "author": "Florian Imdahl <git@ffflorian.de>",
3
3
  "bin": {
4
- "which-os": "cli.js"
4
+ "which-os": "dist/cjs/cli.js"
5
5
  },
6
6
  "dependencies": {
7
- "commander": "10.0.1"
7
+ "commander": "11.1.0"
8
8
  },
9
9
  "description": "Get informations about your OS",
10
10
  "devDependencies": {
11
- "rimraf": "5.0.0",
12
- "typescript": "5.0.4"
11
+ "rimraf": "5.0.5",
12
+ "typescript": "5.2.2"
13
13
  },
14
14
  "engines": {
15
- "node": ">= 10.9"
15
+ "node": ">= 14.16"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "import": "./dist/mjs/index.js",
20
+ "require": "./dist/cjs/index.js"
21
+ }
16
22
  },
17
23
  "files": [
18
- "cli.d.ts",
19
- "cli.js",
20
- "cli.js.map",
21
- "index.d.ts",
22
- "index.js",
23
- "index.js.map",
24
- "which-os.d.ts",
25
- "which-os.js",
26
- "which-os.js.map"
24
+ "dist"
27
25
  ],
28
26
  "keywords": [
29
27
  "cli",
@@ -32,20 +30,21 @@
32
30
  "typescript"
33
31
  ],
34
32
  "license": "GPL-3.0",
35
- "main": "index.js",
33
+ "main": "dist/cjs/index.js",
34
+ "module": "dist/mjs/index.js",
36
35
  "name": "which-os",
37
- "publishConfig": {
38
- "directory": "flattened"
39
- },
40
36
  "repository": "https://github.com/ffflorian/node-packages/tree/main/packages/which-os",
41
37
  "scripts": {
42
- "build": "tsc",
38
+ "build": "yarn build:cjs && yarn build:mjs && yarn generate:packagejson",
39
+ "build:cjs": "tsc -p tsconfig.cjs.json",
40
+ "build:mjs": "tsc -p tsconfig.json",
43
41
  "clean": "rimraf dist",
44
42
  "dist": "yarn clean && yarn build",
45
- "flatten": "node ../publish-flat/dist/cli.js -o flattened",
46
- "postversion": "node ../publish-flat/dist/cli-copy.js -o flattened/package.json version",
47
- "start": "ts-node src/cli.ts",
48
- "test": "ts-node -P tsconfig.jasmine.json ../../node_modules/jasmine/bin/jasmine.js"
43
+ "generate:packagejson": "../../bin/generate-hybrid-package-json.sh",
44
+ "start": "ts-node-esm src/cli.ts",
45
+ "test": "ts-node-esm -P tsconfig.jasmine.json ../../node_modules/.bin/jasmine"
49
46
  },
50
- "version": "1.6.0"
47
+ "type": "module",
48
+ "version": "1.7.0",
49
+ "gitHead": "e7bb24502cde477597fa401ea467f8d463323cda"
51
50
  }
package/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './which-os';
package/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./which-os"), exports);
18
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
package/which-os.js DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isWindows = exports.isWin = exports.isMacOS = exports.isIA32 = exports.isARM = exports.isX64 = exports.isWin32 = exports.isLinux = exports.isDarwin = exports.getOsInfo = void 0;
4
- const os = require("os");
5
- const process = require("process");
6
- const platform = os.platform();
7
- function getOsInfo() {
8
- return Object.entries(os)
9
- .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))
10
- .reduce((map, [key, value]) => {
11
- if (typeof value === 'function') {
12
- if (key.startsWith('set')) {
13
- return map;
14
- }
15
- // eslint-disable-next-line
16
- map[key] = value();
17
- }
18
- else {
19
- map[key] = JSON.parse(JSON.stringify(value));
20
- }
21
- return map;
22
- }, {});
23
- }
24
- exports.getOsInfo = getOsInfo;
25
- const isDarwin = () => platform === 'darwin';
26
- exports.isDarwin = isDarwin;
27
- exports.isMacOS = exports.isDarwin;
28
- const isLinux = () => platform === 'linux';
29
- exports.isLinux = isLinux;
30
- const isWin32 = () => platform === 'win32';
31
- exports.isWin32 = isWin32;
32
- exports.isWin = exports.isWin32;
33
- exports.isWindows = exports.isWin32;
34
- const isX64 = () => process.arch === 'x64';
35
- exports.isX64 = isX64;
36
- const isARM = () => process.arch === 'arm';
37
- exports.isARM = isARM;
38
- const isIA32 = () => process.arch === 'ia32';
39
- exports.isIA32 = isIA32;
40
- //# sourceMappingURL=which-os.js.map
package/which-os.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"which-os.js","sourceRoot":"","sources":["../src/which-os.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,mCAAmC;AAEnC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AA4B/B,SAAgB,SAAS;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,GAAG,CAAC;aACZ;YACD,2BAA2B;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAI,KAAa,EAAE,CAAC;SAC7B;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAfD,8BAeC;AAEM,MAAM,QAAQ,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAAhD,QAAA,QAAQ,YAAwC;AAQzC,kBARP,gBAAQ,CAQM;AAPpB,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAA9C,QAAA,OAAO,WAAuC;AACpD,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;AAA9C,QAAA,OAAO,WAAuC;AAMnB,gBAN3B,eAAO,CAMyB;AAAa,oBAN7C,eAAO,CAM+C;AAJ5D,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAA9C,QAAA,KAAK,SAAyC;AACpD,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;AAA9C,QAAA,KAAK,SAAyC;AACpD,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAAhD,QAAA,MAAM,UAA0C"}
File without changes