Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Download with your package manager of choice. The package name is `mysql-memory-
#### Currently supported MySQL versions

- ```mysql-memory-server``` can run MySQL versions 5.7.19 and newer (if the version is already installed on your system)
- ```mysql-memory-server``` can download and run MySQL versions (inclusive) 5.7.19 - 5.7.44, 8.0.0 - 8.0.43, 8.1.0 - 8.4.6, and 9.0.1 - 9.4.0 (if the version is not already installed on your system)
- ```mysql-memory-server``` can download and run MySQL versions (inclusive) 5.7.19 - 5.7.44, 8.0.0 - 8.0.44, 8.1.0 - 8.4.7, and 9.0.1 - 9.5.0 (if the version is not already installed on your system)

Extra system requirements apply when ```mysql-memory-server``` is downloading MySQL instead of running a version of MySQL that is already installed on the system. To see the requirements and learn more about the supported versions for download, [read the doc](https://github.com/Sebastian-Webster/mysql-memory-server-nodejs/blob/v1.12.2/docs/SUPPORTED_MYSQL_DOWNLOADS.md)

Expand Down
10 changes: 5 additions & 5 deletions docs/SUPPORTED_MYSQL_DOWNLOADS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ Only MySQL versions 8.4.x and 9.x can be downloaded and ran with this package on

*Architectures used can be overridden by the ```arch``` option provided your OS and system supports running applications that use those architectures.*

Linux, Windows, macOS x64: MySQL v5.7.19 - v9.4.0
Linux, Windows, macOS x64: MySQL v5.7.19 - v9.5.0

Linux ARM64: MySQL v8.0.31 - v9.4.0
Linux ARM64: MySQL v8.0.31 - v9.5.0

macOS ARM64: MySQL v8.0.26 - v9.4.0
macOS ARM64: MySQL v8.0.26 - v9.5.0

Windows ARM64: N/A - Read about the ```arch``` option to run this package on your system

Expand All @@ -50,7 +50,7 @@ macOS:
| v8.0.28 - v8.0.31 | macOS 11 (Big Sur) |
| v8.0.32 - v8.0.34 | macOS 12 (Monterey) |
| v8.0.35 - v8.0.39 OR v8.1.0 - v8.4.2 OR v9.0.1 | macOS 13 (Ventura) |
| v8.0.40 - v8.0.43 OR v8.4.3 - v8.4.6 OR v9.1.0 - v9.4.0 | macOS 14 (Sonoma) |
| v8.0.40 - v8.0.44 OR v8.4.3 - v8.4.7 OR v9.1.0 - v9.5.0 | macOS 14 (Sonoma) |

## Operating System Maximum Version Requirements

Expand Down Expand Up @@ -92,4 +92,4 @@ Fedora Linux: ```libaio1``` package and ```tar``` package

Alpine Linux: ```libstdc++``` package, ```libaio``` package, and ```tar``` package

*Document last updated in v1.12.2*
*Document last updated in v1.13.0*
34 changes: 16 additions & 18 deletions src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { InternalServerOptions, OptionTypeChecks } from "../types";
import {normalize as normalizePath} from 'path'
import { tmpdir } from "os";
import { valid as validSemver, coerce as coerceSemver } from "semver";

export const DEFAULT_OPTIONS: InternalServerOptions = {
Expand Down Expand Up @@ -127,25 +125,25 @@ export const DOWNLOADABLE_MYSQL_VERSIONS = [

'8.0.0', '8.0.1', '8.0.2', '8.0.3', '8.0.4',

'8.0.11', '8.0.12', '8.0.13', '8.0.14', '8.0.15', '8.0.16', '8.0.17', '8.0.18', '8.0.19', '8.0.20', '8.0.21', '8.0.22', '8.0.23', '8.0.24', '8.0.25', '8.0.26', '8.0.27', '8.0.28', '8.0.30', '8.0.31', '8.0.32', '8.0.33', '8.0.34', '8.0.35', '8.0.36', '8.0.37', '8.0.39', '8.0.40', '8.0.41', '8.0.42', '8.0.43',
'8.0.11', '8.0.12', '8.0.13', '8.0.14', '8.0.15', '8.0.16', '8.0.17', '8.0.18', '8.0.19', '8.0.20', '8.0.21', '8.0.22', '8.0.23', '8.0.24', '8.0.25', '8.0.26', '8.0.27', '8.0.28', '8.0.30', '8.0.31', '8.0.32', '8.0.33', '8.0.34', '8.0.35', '8.0.36', '8.0.37', '8.0.39', '8.0.40', '8.0.41', '8.0.42', '8.0.43', '8.0.44',

'8.1.0', '8.2.0', '8.3.0',

'8.4.0', '8.4.2', '8.4.3', '8.4.4', '8.4.5', '8.4.6',
'8.4.0', '8.4.2', '8.4.3', '8.4.4', '8.4.5', '8.4.6', '8.4.7',

'9.0.1', '9.1.0', '9.2.0', '9.3.0', '9.4.0'
'9.0.1', '9.1.0', '9.2.0', '9.3.0', '9.4.0', '9.5.0'
] as const;
export const MYSQL_ARCH_SUPPORT = {
darwin: {
arm64: '8.0.26 - 9.4.0',
x64: '5.7.19 - 9.4.0'
arm64: '8.0.26 - 9.5.0',
x64: '5.7.19 - 9.5.0'
},
linux: {
arm64: '8.0.31 - 9.4.0',
x64: '5.7.19 - 9.4.0'
arm64: '8.0.31 - 9.5.0',
x64: '5.7.19 - 9.5.0'
},
win32: {
x64: '5.7.19 - 9.4.0'
x64: '5.7.19 - 9.5.0'
}
} as const;
export const MYSQL_MIN_OS_SUPPORT = {
Expand All @@ -165,7 +163,7 @@ export const MYSQL_MIN_OS_SUPPORT = {
'8.0.28 - 8.0.31': '20.0.0',
'8.0.32 - 8.0.34': '21.0.0',
'8.0.35 - 8.0.39 || 8.1.0 - 8.4.2 || 9.0.1': '22.0.0',
'8.0.40 - 8.0.43 || 8.4.3 - 8.4.6 || 9.1.0 - 9.4.0': '23.0.0'
'8.0.40 - 8.0.44 || 8.4.3 - 8.4.7 || 9.1.0 - 9.5.0': '23.0.0'
}
} as const;
export const DMR_MYSQL_VERSIONS = '8.0.0 - 8.0.2';
Expand All @@ -180,7 +178,7 @@ export const MYSQL_MACOS_VERSIONS_IN_FILENAME = {
'8.0.30 - 8.0.31': 'macos12',
'8.0.32 - 8.0.35 || 8.1.0 - 8.2.0': 'macos13',
'8.0.36 - 8.0.40 || 8.3.0 - 8.4.3 || 9.0.1 - 9.1.0': 'macos14',
'8.0.41 - 8.0.43 || 8.4.4 - 8.4.6 || 9.2.0 - 9.4.0': 'macos15'
'8.0.41 - 8.0.44 || 8.4.4 - 8.4.7 || 9.2.0 - 9.5.0': 'macos15'
} as const;
export const MYSQL_LINUX_GLIBC_VERSIONS = {
//8.0.42 - 8.0.43, 8.4.5 - 8.4.6, and 9.3.0 - 9.4.0 with glibc 2.28 does NOT have a minimal install version for x64 but it DOES have arm64 support.
Expand All @@ -189,28 +187,28 @@ export const MYSQL_LINUX_GLIBC_VERSIONS = {
//Neither glibc versions for the above MySQL versions have an arm64 minimal install.
x64: {
'5.7.19 - 8.0.20': '2.12',
'8.0.21 - 9.4.0': '2.17'
'8.0.21 - 9.5.0': '2.17'
},
arm64: {
'5.7.19 - 8.0.20': '2.12',
'8.0.21 - 8.0.41 || 8.1.0 - 8.4.4 || 9.0.1 - 9.2.0': '2.17',
'8.0.42 - 8.0.43 || 8.4.5 - 8.4.6 || 9.3.0 - 9.4.0': '2.28'
'8.0.42 - 8.0.44 || 8.4.5 - 8.4.7 || 9.3.0 - 9.5.0': '2.28'
}
} as const;
export const MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE = {
'5.7.19 - 8.0.15': 'no',
'8.0.16 - 8.0.20': 'no-glibc-tag',
'8.0.21 - 9.4.0': 'glibc-tag'
'8.0.21 - 9.5.0': 'glibc-tag'
} as const;
export const MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE_ARM64 = '8.0.33 - 8.0.41 || 8.1.0 - 8.4.4 || 9.0.1 - 9.2.0' //Not available for < 8.0.33 and 8.0.42 - 8.0.43, 8.4.5 - 8.4.6, and 9.3.0 - 9.4.0
export const MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE_ARM64 = '8.0.33 - 8.0.41 || 8.1.0 - 8.4.4 || 9.0.1 - 9.2.0' //Not available for < 8.0.33 and >=8.0.42 <8.1.0, >=8.4.5 <8.5, and >=9.3.0 <10.0.0
export const MYSQL_LINUX_FILE_EXTENSIONS = {
x64: {
'5.7.19 - 8.0.11': 'gz',
'8.0.12 - 9.4.0': 'xz'
'8.0.12 - 9.5.0': 'xz'
},
arm64: {
'8.0.31 - 8.0.32': 'gz',
'8.0.33 - 9.4.0': 'xz'
'8.0.33 - 9.5.0': 'xz'
}
} as const;
export const MYSQL_LINUX_MINIMAL_REBUILD_VERSIONS = '8.0.26';