Socket
Socket
Sign inDemoInstall

macos-version

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

macos-version - npm Package Compare versions

Comparing version 5.2.1 to 6.0.0

151

index.d.ts

@@ -1,100 +0,93 @@

declare const macosVersion: {
/**
@returns The macOS version or `undefined` if the platform is not macOS.
/**
@returns The macOS version or `undefined` if the platform is not macOS.
@example
```
import macosVersion = require('macos-version');
@example
```
import {macOSVersion} from 'macos-version';
macosVersion();
//=> '10.12.3'
```
*/
(): string | undefined;
macOSVersion();
//=> '10.12.3'
```
*/
export function macOSVersion(): string | undefined;
/**
@returns Whether the specified [semver range](https://github.com/npm/node-semver#ranges) matches the macOS version.
/**
@returns Whether the specified [semver range](https://github.com/npm/node-semver#ranges) matches the macOS version.
@example
```
import macosVersion = require('macos-version');
@example
```
import {isMacOSVersion} from 'macos-version';
macosVersion.is('>10.10');
//=> true
```
*/
is(semverRange: string): boolean;
isMacOSVersion('>10.10');
//=> true
```
*/
export function isMacOSVersion(semverRange: string): boolean;
/**
@returns Whether the macOS version is greater than or equal to the specified version.
/**
@returns Whether the macOS version is greater than or equal to the specified version.
@example
```
import macosVersion = require('macos-version');
@example
```
import {isMacOSVersionGreaterThanOrEqualTo} from 'macos-version';
macosVersion.isGreaterThanOrEqualTo('10.10');
//=> true
```
*/
isGreaterThanOrEqualTo(version: string): boolean;
isMacOSVersionGreaterThanOrEqualTo('10.10');
//=> true
```
*/
export function isMacOSVersionGreaterThanOrEqualTo(version: string): boolean;
/**
Throws an error if the specified [semver range](https://github.com/npm/node-semver#ranges) does not match the macOS version.
/**
Throws an error if the specified [semver range](https://github.com/npm/node-semver#ranges) does not match the macOS version.
@example
```
import macosVersion = require('macos-version');
@example
```
import {assertMacOSVersion} from 'macos-version';
macosVersion.assert('>=10.12.5');
//=> [Error: Requires macOS >=10.12.5]
```
*/
assert(semverRange: string): void;
assertMacOSVersion('>=10.12.5');
//=> [Error: Requires macOS >=10.12.5]
```
*/
export function assertMacOSVersion(semverRange: string): void;
/**
Throws an error if the macOS version is not greater than or equal to the specified version.
/**
Throws an error if the macOS version is not greater than or equal to the specified version.
_Prefer this over `.assert()` whenever possible as it outputs a more user-friendly error message._
_Prefer this over `.assert()` whenever possible as it outputs a more user-friendly error message._
@example
```
import macosVersion = require('macos-version');
@example
```
import {assertMacOSVersionGreaterThanOrEqualTo} from 'macos-version';
macosVersion.assertGreaterThanOrEqualTo('10.12.5');
//=> [Error: Requires macOS 10.12.5 or later]
```
*/
assertGreaterThanOrEqualTo(version: string): void;
assertMacOSVersionGreaterThanOrEqualTo('10.12.5');
//=> [Error: Requires macOS 10.12.5 or later]
```
*/
export function assertMacOSVersionGreaterThanOrEqualTo(version: string): void;
/**
Throws an error if platform is not macOS.
/**
Throws an error if platform is not macOS.
@example
```
import macosVersion = require('macos-version');
@example
```
import {assertMacOS} from 'macos-version';
macosVersion.assertMacOS();
//=> [Error: Requires macOS]
```
*/
assertMacOS(): void;
assertMacOS();
//=> [Error: Requires macOS]
```
*/
export function assertMacOS(): void;
/**
Whether the platform is macOS.
/**
Whether the platform is macOS.
@example
```
import macosVersion = require('macos-version');
@example
```
import {isMacOS} from 'macos-version';
if (macosVersion.isMacOS) {
console.log('macOS');
}
```
*/
readonly isMacOS: boolean;
// TODO: remove this in the next major version
default: typeof macosVersion;
};
export = macosVersion;
if (isMacOS) {
console.log('macOS');
}
```
*/
export const isMacOS: boolean;

@@ -1,6 +0,7 @@

'use strict';
const fs = require('fs');
const semver = require('semver');
import process from 'node:process';
import fs from 'node:fs';
import semver from 'semver';
const isMacOS = process.platform === 'darwin';
export const isMacOS = process.platform === 'darwin';
let version;

@@ -23,3 +24,3 @@

const parseVersion = plist => {
const matches = /<key>ProductVersion<\/key>[\s]*<string>([\d.]+)<\/string>/.exec(plist);
const matches = /<key>ProductVersion<\/key>\s*<string>([\d.]+)<\/string>/.exec(plist);
if (!matches) {

@@ -32,3 +33,3 @@ return;

const getVersion = () => {
export function macOSVersion() {
if (!isMacOS) {

@@ -46,19 +47,13 @@ return;

version = matches;
version = clean(matches);
}
if (version) {
return clean(version);
}
};
return version;
}
module.exports = getVersion;
// TODO: remove this in the next major version
module.exports.default = getVersion;
if (process.env.NODE_ENV === 'test') {
macOSVersion._parseVersion = parseVersion;
}
getVersion._parseVersion = parseVersion;
getVersion.isMacOS = isMacOS;
getVersion.is = input => {
export function isMacOSVersion(semverRange) {
if (!isMacOS) {

@@ -68,8 +63,8 @@ return false;

input = input.replace('10.16', '11');
semverRange = semverRange.replace('10.16', '11');
return semver.satisfies(getVersion(), clean(input));
};
return semver.satisfies(macOSVersion(), clean(semverRange));
}
getVersion.isGreaterThanOrEqualTo = input => {
export function isMacOSVersionGreaterThanOrEqualTo(version) {
if (!isMacOS) {

@@ -79,27 +74,27 @@ return false;

input = input.replace('10.16', '11');
version = version.replace('10.16', '11');
return semver.gte(getVersion(), clean(input));
};
return semver.gte(macOSVersion(), clean(version));
}
getVersion.assert = input => {
input = input.replace('10.16', '11');
export function assertMacOSVersion(semverRange) {
semverRange = semverRange.replace('10.16', '11');
if (!getVersion.is(input)) {
throw new Error(`Requires macOS ${input}`);
if (!isMacOSVersion(semverRange)) {
throw new Error(`Requires macOS ${semverRange}`);
}
};
}
getVersion.assertGreaterThanOrEqualTo = input => {
input = input.replace('10.16', '11');
export function assertMacOSVersionGreaterThanOrEqualTo(version) {
version = version.replace('10.16', '11');
if (!getVersion.isGreaterThanOrEqualTo(input)) {
throw new Error(`Requires macOS ${input} or later`);
if (!isMacOSVersionGreaterThanOrEqualTo(version)) {
throw new Error(`Requires macOS ${version} or later`);
}
};
}
getVersion.assertMacOS = () => {
export function assertMacOS() {
if (!isMacOS) {
throw new Error('Requires macOS');
}
};
}
{
"name": "macos-version",
"version": "5.2.1",
"version": "6.0.0",
"description": "Get or check the current macOS version",

@@ -13,4 +13,6 @@ "license": "MIT",

},
"type": "module",
"exports": "./index.js",
"engines": {
"node": ">=6"
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},

@@ -39,9 +41,9 @@ "scripts": {

"dependencies": {
"semver": "^5.6.0"
"semver": "^7.3.5"
},
"devDependencies": {
"ava": "^1.4.1",
"tsd": "^0.7.1",
"xo": "^0.24.0"
"ava": "^3.15.0",
"tsd": "^0.17.0",
"xo": "^0.44.0"
}
}

@@ -14,23 +14,31 @@ # macos-version

```js
const macosVersion = require('macos-version');
import {
macOSVersion,
isMacOSVersion,
isMacOSVersionGreaterThanOrEqualTo,
assertMacOSVersion,
assertMacOSVersionGreaterThanOrEqualTo,
assertMacOS,
isMacOS,
} from 'macos-version';
macosVersion();
macOSVersion();
//=> '10.12.3'
macosVersion.is('>10.10');
isMacOSVersion('>10.10');
//=> true
macosVersion.isGreaterThanOrEqualTo('10.10');
isMacOSVersionGreaterThanOrEqualTo('10.10');
//=> true
macosVersion.assert('>=10.12.5');
assertMacOSVersion('>=10.12.5');
//=> [Error: Requires macOS >=10.12.5]
macosVersion.assertGreaterThanOrEqualTo('10.12.5');
assertMacOSVersionGreaterThanOrEqualTo('10.12.5');
//=> [Error: Requires macOS 10.12.5 or later]
macosVersion.assertMacOS();
assertMacOS();
//=> [Error: Requires macOS]
if (macosVersion.isMacOS) {
if (isMacOS) {
console.log('macOS');

@@ -42,19 +50,19 @@ }

### macosVersion()
### macOSVersion()
Returns the macOS version or `undefined` if the platform is not macOS.
### macosVersion.is(semverRange)
### isMacOSVersion(semverRange)
Returns a `boolean` of whether the specified [semver range](https://github.com/npm/node-semver#ranges) matches the macOS version.
### macosVersion.isGreaterThanOrEqualTo(version)
### isMacOSVersionGreaterThanOrEqualTo(version)
Returns a `boolean` of whether the macOS version is greater than or equal to the specified version.
### macosVersion.assert(semverRange)
### assertMacOSVersion(semverRange)
Throws an error if the specified [semver range](https://github.com/npm/node-semver#ranges) does not match the macOS version.
### macosVersion.assertGreaterThanOrEqualTo(version)
### assertMacOSVersionGreaterThanOrEqualTo(version)

@@ -65,7 +73,7 @@ Throws an error if the macOS version is not greater than or equal to the specified version.

### macosVersion.assertMacOS()
### assertMacOS()
Throws an error if the platform is not macOS.
### macosVersion.isMacOS
### isMacOS

@@ -72,0 +80,0 @@ Type: `boolean`

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc