mysql-memory-server 1.9.0 → 1.10.1
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 +5 -5
- package/dist/src/constants.d.ts +21 -14
- package/dist/src/constants.js +27 -16
- package/dist/src/libraries/Downloader.js +3 -2
- package/dist/src/libraries/Executor.js +13 -2
- package/dist/src/libraries/Version.js +4 -3
- package/package.json +9 -9
- package/dist/src/versions.json +0 -317
package/README.md
CHANGED
|
@@ -15,9 +15,9 @@ Download with your package manager of choice. The package name is `mysql-memory-
|
|
|
15
15
|
#### Currently supported MySQL versions
|
|
16
16
|
|
|
17
17
|
- ```mysql-memory-server``` can run MySQL versions 5.7.19 and newer (if the version is already installed on your system)
|
|
18
|
-
- ```mysql-memory-server``` can download and run MySQL versions 5.7.19 - 9.
|
|
18
|
+
- ```mysql-memory-server``` can download and run MySQL versions 5.7.19 - 9.3.0 (if the version is not already installed on your system)
|
|
19
19
|
|
|
20
|
-
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.
|
|
20
|
+
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.10.1/docs/SUPPORTED_MYSQL_DOWNLOADS.md)
|
|
21
21
|
|
|
22
22
|
## Example Usage - Application Code
|
|
23
23
|
|
|
@@ -102,11 +102,11 @@ Description: Version of MySQL to use for the database. Uses semver for getting t
|
|
|
102
102
|
|
|
103
103
|
If left undefined:
|
|
104
104
|
- If the system has MySQL installed, the system-installed version will be used. If the installed version is not supported by this package (currently <5.7.19), an error will be thrown unless `ignoreUnsupportedSystemVersion` is set to `true`.
|
|
105
|
-
- If the system does not have MySQL installed, the latest version of MySQL
|
|
105
|
+
- If the system does not have MySQL installed, the latest version of MySQL that [this package supports downloading](https://github.com/Sebastian-Webster/mysql-memory-server-nodejs/blob/v1.10.1/docs/SUPPORTED_MYSQL_DOWNLOADS.md) will be downloaded.
|
|
106
106
|
|
|
107
107
|
If defined:
|
|
108
108
|
- If the version is older than 5.7.19, an error will be thrown as this package does not currently support those versions of MySQL.
|
|
109
|
-
- If the desired version of MySQL is installed on the system, the installed version will be used. Otherwise the selected version will be downloaded
|
|
109
|
+
- If the desired version of MySQL is already installed on the system, the installed version will be used. Otherwise the selected version will be downloaded as long as this package [supports downloading it](https://github.com/Sebastian-Webster/mysql-memory-server-nodejs/blob/v1.10.1/docs/SUPPORTED_MYSQL_DOWNLOADS.md). If this package does not support downloading the selected version, or your system does not [meet the requirements](https://github.com/Sebastian-Webster/mysql-memory-server-nodejs/blob/v1.10.1/docs/SUPPORTED_MYSQL_DOWNLOADS.md) for that version to be ran, an error will be thrown.
|
|
110
110
|
|
|
111
111
|
- `dbName: string`
|
|
112
112
|
|
|
@@ -182,7 +182,7 @@ Default: ""
|
|
|
182
182
|
|
|
183
183
|
Description: A string with MySQL queries to run before the database starts to accept connections. This option can be used for things like initialising tables without having to first connect to the database to do that. The queries in the string get executed after ```mysql-memory-server```'s queries run. Uses the ```--init-file``` MySQL server option under the hood. Learn more at the [--init-file MySQL Documentation](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_init_file)
|
|
184
184
|
|
|
185
|
-
The internal queries that are ran before the queries in ```initSQLString``` are
|
|
185
|
+
The internal queries that are ran before the queries in ```initSQLString``` are creating the MySQL user with ```options.username``` username if the option's value is not ```root```, and creating a database with the ```options.dbName``` name.
|
|
186
186
|
|
|
187
187
|
- `arch: "arm64" | "x64"`
|
|
188
188
|
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -17,18 +17,18 @@ export declare const OPTION_TYPE_CHECKS: OptionTypeChecks;
|
|
|
17
17
|
export declare const MIN_SUPPORTED_MYSQL = "5.7.19";
|
|
18
18
|
export declare const downloadsBaseURL = "https://cdn.mysql.com//Downloads/MySQL-";
|
|
19
19
|
export declare const archiveBaseURL = "https://cdn.mysql.com/archives/mysql-";
|
|
20
|
-
export declare const DOWNLOADABLE_MYSQL_VERSIONS: readonly ["5.7.19", "5.7.20", "5.7.21", "5.7.22", "5.7.23", "5.7.24", "5.7.25", "5.7.26", "5.7.27", "5.7.28", "5.7.29", "5.7.30", "5.7.31", "5.7.32", "5.7.33", "5.7.34", "5.7.35", "5.7.36", "5.7.37", "5.7.38", "5.7.39", "5.7.40", "5.7.41", "5.7.42", "5.7.43", "5.7.44", "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.1.0", "8.2.0", "8.3.0", "8.4.0", "8.4.2", "8.4.3", "8.4.4", "9.0.1", "9.1.0", "9.2.0"];
|
|
20
|
+
export declare const DOWNLOADABLE_MYSQL_VERSIONS: readonly ["5.7.19", "5.7.20", "5.7.21", "5.7.22", "5.7.23", "5.7.24", "5.7.25", "5.7.26", "5.7.27", "5.7.28", "5.7.29", "5.7.30", "5.7.31", "5.7.32", "5.7.33", "5.7.34", "5.7.35", "5.7.36", "5.7.37", "5.7.38", "5.7.39", "5.7.40", "5.7.41", "5.7.42", "5.7.43", "5.7.44", "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.1.0", "8.2.0", "8.3.0", "8.4.0", "8.4.2", "8.4.3", "8.4.4", "8.4.5", "9.0.1", "9.1.0", "9.2.0", "9.3.0"];
|
|
21
21
|
export declare const MYSQL_ARCH_SUPPORT: {
|
|
22
22
|
readonly darwin: {
|
|
23
|
-
readonly arm64: "8.0.26 - 9.
|
|
24
|
-
readonly x64: "5.7.19 - 9.
|
|
23
|
+
readonly arm64: "8.0.26 - 9.3.0";
|
|
24
|
+
readonly x64: "5.7.19 - 9.3.0";
|
|
25
25
|
};
|
|
26
26
|
readonly linux: {
|
|
27
|
-
readonly arm64: "8.0.31 - 9.
|
|
28
|
-
readonly x64: "5.7.19 - 9.
|
|
27
|
+
readonly arm64: "8.0.31 - 9.3.0";
|
|
28
|
+
readonly x64: "5.7.19 - 9.3.0";
|
|
29
29
|
};
|
|
30
30
|
readonly win32: {
|
|
31
|
-
readonly x64: "5.7.19 - 9.
|
|
31
|
+
readonly x64: "5.7.19 - 9.3.0";
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
export declare const MYSQL_MIN_OS_SUPPORT: {
|
|
@@ -47,7 +47,7 @@ export declare const MYSQL_MIN_OS_SUPPORT: {
|
|
|
47
47
|
readonly '8.0.28 - 8.0.31': "20.0.0";
|
|
48
48
|
readonly '8.0.32 - 8.0.34': "21.0.0";
|
|
49
49
|
readonly '8.0.35 - 8.0.39 || 8.1.0 - 8.4.2 || 9.0.1': "22.0.0";
|
|
50
|
-
readonly '8.0.40 - 8.0.
|
|
50
|
+
readonly '8.0.40 - 8.0.42 || 8.4.3 - 8.4.5 || 9.1.0 - 9.3.0': "23.0.0";
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
53
|
export declare const DMR_MYSQL_VERSIONS = "8.0.0 - 8.0.2";
|
|
@@ -62,26 +62,33 @@ export declare const MYSQL_MACOS_VERSIONS_IN_FILENAME: {
|
|
|
62
62
|
readonly '8.0.30 - 8.0.31': "macos12";
|
|
63
63
|
readonly '8.0.32 - 8.0.35 || 8.1.0 - 8.2.0': "macos13";
|
|
64
64
|
readonly '8.0.36 - 8.0.40 || 8.3.0 - 8.4.3 || 9.0.1 - 9.1.0': "macos14";
|
|
65
|
-
readonly '8.0.41 || 8.4.4 || 9.2.0': "macos15";
|
|
65
|
+
readonly '8.0.41 - 8.0.42 || 8.4.4 - 8.4.5 || 9.2.0 - 9.3.0': "macos15";
|
|
66
66
|
};
|
|
67
67
|
export declare const MYSQL_LINUX_GLIBC_VERSIONS: {
|
|
68
|
-
readonly
|
|
69
|
-
|
|
68
|
+
readonly x64: {
|
|
69
|
+
readonly '5.7.19 - 8.0.20': "2.12";
|
|
70
|
+
readonly '8.0.21 - 9.3.0': "2.17";
|
|
71
|
+
};
|
|
72
|
+
readonly arm64: {
|
|
73
|
+
readonly '5.7.19 - 8.0.20': "2.12";
|
|
74
|
+
readonly '8.0.21 - 8.0.41 || 8.1.0 - 8.4.4 || 9.0.1 - 9.2.0': "2.17";
|
|
75
|
+
readonly '8.0.42 || 8.4.5 || 9.3.0': "2.28";
|
|
76
|
+
};
|
|
70
77
|
};
|
|
71
78
|
export declare const MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE: {
|
|
72
79
|
readonly '5.7.19 - 8.0.15': "no";
|
|
73
80
|
readonly '8.0.16 - 8.0.20': "no-glibc-tag";
|
|
74
|
-
readonly '8.0.21 - 9.
|
|
81
|
+
readonly '8.0.21 - 9.3.0': "glibc-tag";
|
|
75
82
|
};
|
|
76
|
-
export declare const MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE_ARM64 = "
|
|
83
|
+
export declare 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";
|
|
77
84
|
export declare const MYSQL_LINUX_FILE_EXTENSIONS: {
|
|
78
85
|
readonly x64: {
|
|
79
86
|
readonly '5.7.19 - 8.0.11': "gz";
|
|
80
|
-
readonly '8.0.12 - 9.
|
|
87
|
+
readonly '8.0.12 - 9.3.0': "xz";
|
|
81
88
|
};
|
|
82
89
|
readonly arm64: {
|
|
83
90
|
readonly '8.0.31 - 8.0.32': "gz";
|
|
84
|
-
readonly '8.0.33 - 9.
|
|
91
|
+
readonly '8.0.33 - 9.3.0': "xz";
|
|
85
92
|
};
|
|
86
93
|
};
|
|
87
94
|
export declare const MYSQL_LINUX_MINIMAL_REBUILD_VERSIONS = "8.0.26";
|
package/dist/src/constants.js
CHANGED
|
@@ -117,22 +117,22 @@ exports.archiveBaseURL = 'https://cdn.mysql.com/archives/mysql-';
|
|
|
117
117
|
exports.DOWNLOADABLE_MYSQL_VERSIONS = [
|
|
118
118
|
'5.7.19', '5.7.20', '5.7.21', '5.7.22', '5.7.23', '5.7.24', '5.7.25', '5.7.26', '5.7.27', '5.7.28', '5.7.29', '5.7.30', '5.7.31', '5.7.32', '5.7.33', '5.7.34', '5.7.35', '5.7.36', '5.7.37', '5.7.38', '5.7.39', '5.7.40', '5.7.41', '5.7.42', '5.7.43', '5.7.44',
|
|
119
119
|
'8.0.0', '8.0.1', '8.0.2', '8.0.3', '8.0.4',
|
|
120
|
-
'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',
|
|
120
|
+
'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',
|
|
121
121
|
'8.1.0', '8.2.0', '8.3.0',
|
|
122
|
-
'8.4.0', '8.4.2', '8.4.3', '8.4.4',
|
|
123
|
-
'9.0.1', '9.1.0', '9.2.0'
|
|
122
|
+
'8.4.0', '8.4.2', '8.4.3', '8.4.4', '8.4.5',
|
|
123
|
+
'9.0.1', '9.1.0', '9.2.0', '9.3.0'
|
|
124
124
|
];
|
|
125
125
|
exports.MYSQL_ARCH_SUPPORT = {
|
|
126
126
|
darwin: {
|
|
127
|
-
arm64: '8.0.26 - 9.
|
|
128
|
-
x64: '5.7.19 - 9.
|
|
127
|
+
arm64: '8.0.26 - 9.3.0',
|
|
128
|
+
x64: '5.7.19 - 9.3.0'
|
|
129
129
|
},
|
|
130
130
|
linux: {
|
|
131
|
-
arm64: '8.0.31 - 9.
|
|
132
|
-
x64: '5.7.19 - 9.
|
|
131
|
+
arm64: '8.0.31 - 9.3.0',
|
|
132
|
+
x64: '5.7.19 - 9.3.0'
|
|
133
133
|
},
|
|
134
134
|
win32: {
|
|
135
|
-
x64: '5.7.19 - 9.
|
|
135
|
+
x64: '5.7.19 - 9.3.0'
|
|
136
136
|
}
|
|
137
137
|
};
|
|
138
138
|
exports.MYSQL_MIN_OS_SUPPORT = {
|
|
@@ -152,7 +152,7 @@ exports.MYSQL_MIN_OS_SUPPORT = {
|
|
|
152
152
|
'8.0.28 - 8.0.31': '20.0.0',
|
|
153
153
|
'8.0.32 - 8.0.34': '21.0.0',
|
|
154
154
|
'8.0.35 - 8.0.39 || 8.1.0 - 8.4.2 || 9.0.1': '22.0.0',
|
|
155
|
-
'8.0.40 - 8.0.
|
|
155
|
+
'8.0.40 - 8.0.42 || 8.4.3 - 8.4.5 || 9.1.0 - 9.3.0': '23.0.0'
|
|
156
156
|
}
|
|
157
157
|
};
|
|
158
158
|
exports.DMR_MYSQL_VERSIONS = '8.0.0 - 8.0.2';
|
|
@@ -167,26 +167,37 @@ exports.MYSQL_MACOS_VERSIONS_IN_FILENAME = {
|
|
|
167
167
|
'8.0.30 - 8.0.31': 'macos12',
|
|
168
168
|
'8.0.32 - 8.0.35 || 8.1.0 - 8.2.0': 'macos13',
|
|
169
169
|
'8.0.36 - 8.0.40 || 8.3.0 - 8.4.3 || 9.0.1 - 9.1.0': 'macos14',
|
|
170
|
-
'8.0.41 || 8.4.4 || 9.2.0': 'macos15'
|
|
170
|
+
'8.0.41 - 8.0.42 || 8.4.4 - 8.4.5 || 9.2.0 - 9.3.0': 'macos15'
|
|
171
171
|
};
|
|
172
172
|
exports.MYSQL_LINUX_GLIBC_VERSIONS = {
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
//8.0.42, 8.4.5, and 9.3.0 with glibc 2.28 does NOT have a minimal install version for x64 but it DOES have arm64 support.
|
|
174
|
+
//8.0.42, 8.4.5, and 9.3.0 with glibc 2.17 DOES have a minimal install version for x64 but does NOT have arm64 support.
|
|
175
|
+
//The new versions having these differences between the glibc versions has led to the glibc versions being different depending on CPU architecture for this package.
|
|
176
|
+
//Neither glibc versions for the above MySQL versions have an arm64 minimal install.
|
|
177
|
+
x64: {
|
|
178
|
+
'5.7.19 - 8.0.20': '2.12',
|
|
179
|
+
'8.0.21 - 9.3.0': '2.17'
|
|
180
|
+
},
|
|
181
|
+
arm64: {
|
|
182
|
+
'5.7.19 - 8.0.20': '2.12',
|
|
183
|
+
'8.0.21 - 8.0.41 || 8.1.0 - 8.4.4 || 9.0.1 - 9.2.0': '2.17',
|
|
184
|
+
'8.0.42 || 8.4.5 || 9.3.0': '2.28'
|
|
185
|
+
}
|
|
175
186
|
};
|
|
176
187
|
exports.MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE = {
|
|
177
188
|
'5.7.19 - 8.0.15': 'no',
|
|
178
189
|
'8.0.16 - 8.0.20': 'no-glibc-tag',
|
|
179
|
-
'8.0.21 - 9.
|
|
190
|
+
'8.0.21 - 9.3.0': 'glibc-tag'
|
|
180
191
|
};
|
|
181
|
-
exports.MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE_ARM64 = '
|
|
192
|
+
exports.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.4.5, and 9.3.0
|
|
182
193
|
exports.MYSQL_LINUX_FILE_EXTENSIONS = {
|
|
183
194
|
x64: {
|
|
184
195
|
'5.7.19 - 8.0.11': 'gz',
|
|
185
|
-
'8.0.12 - 9.
|
|
196
|
+
'8.0.12 - 9.3.0': 'xz'
|
|
186
197
|
},
|
|
187
198
|
arm64: {
|
|
188
199
|
'8.0.31 - 8.0.32': 'gz',
|
|
189
|
-
'8.0.33 - 9.
|
|
200
|
+
'8.0.33 - 9.3.0': 'xz'
|
|
190
201
|
}
|
|
191
202
|
};
|
|
192
203
|
exports.MYSQL_LINUX_MINIMAL_REBUILD_VERSIONS = '8.0.26';
|
|
@@ -148,7 +148,8 @@ function extractBinary(url, archiveLocation, extractedLocation, logger) {
|
|
|
148
148
|
const lastDashIndex = url.lastIndexOf('-');
|
|
149
149
|
const fileExtension = url.slice(lastDashIndex).split('.').splice(1).join('.');
|
|
150
150
|
await fsPromises.mkdir(extractedLocation, { recursive: true });
|
|
151
|
-
const
|
|
151
|
+
const splitURL = url.split('/');
|
|
152
|
+
const mySQLFolderName = splitURL[splitURL.length - 1];
|
|
152
153
|
if (!mySQLFolderName) {
|
|
153
154
|
return reject(`Folder name is undefined for url: ${url}`);
|
|
154
155
|
}
|
|
@@ -363,7 +364,7 @@ function downloadBinary(binaryInfo, options, logger) {
|
|
|
363
364
|
return reject(e);
|
|
364
365
|
}
|
|
365
366
|
else {
|
|
366
|
-
|
|
367
|
+
logger.warn(`An error was encountered during the binary download process. Retrying for retry ${downloadTries}/${options.downloadRetries}. The error was:`, e);
|
|
367
368
|
}
|
|
368
369
|
}
|
|
369
370
|
} while (downloadTries <= options.downloadRetries);
|
|
@@ -64,7 +64,18 @@ class Executor {
|
|
|
64
64
|
return new Promise(async (resolve, reject) => {
|
|
65
65
|
if (process.platform === 'win32') {
|
|
66
66
|
try {
|
|
67
|
-
|
|
67
|
+
let dirs;
|
|
68
|
+
try {
|
|
69
|
+
dirs = await fsPromises.readdir(`${process.env.PROGRAMFILES}\\MySQL`);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
if (e?.code === 'ENOENT') {
|
|
73
|
+
return resolve(null);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
68
79
|
const servers = dirs.filter(dirname => dirname.includes('MySQL Server'));
|
|
69
80
|
if (servers.length === 0) {
|
|
70
81
|
return resolve(null);
|
|
@@ -336,7 +347,7 @@ _Executor_instances = new WeakSet(), _Executor_executeFile = function _Executor_
|
|
|
336
347
|
}
|
|
337
348
|
});
|
|
338
349
|
fs.watchFile(errorLogFile, async (curr) => {
|
|
339
|
-
if (curr.
|
|
350
|
+
if (curr.isFile()) {
|
|
340
351
|
//File exists
|
|
341
352
|
const file = await fsPromises.readFile(errorLogFile, { encoding: 'utf8' });
|
|
342
353
|
if (file.includes(': ready for connections') || file.includes('Server starts handling incoming connections')) {
|
|
@@ -44,7 +44,7 @@ const LinuxOSRelease_1 = __importDefault(require("./LinuxOSRelease"));
|
|
|
44
44
|
function getBinaryURL(versionToGet = "x", currentArch) {
|
|
45
45
|
let selectedVersions = constants_1.DOWNLOADABLE_MYSQL_VERSIONS.filter(version => (0, semver_1.satisfies)(version, versionToGet));
|
|
46
46
|
if (selectedVersions.length === 0) {
|
|
47
|
-
throw `mysql-memory-server does not support downloading a version of MySQL that fits the following version requirement: ${versionToGet}. This package only supports downloads of MySQL for MySQL >= ${constants_1.DOWNLOADABLE_MYSQL_VERSIONS[0]} <= ${constants_1.DOWNLOADABLE_MYSQL_VERSIONS.
|
|
47
|
+
throw `mysql-memory-server does not support downloading a version of MySQL that fits the following version requirement: ${versionToGet}. This package only supports downloads of MySQL for MySQL >= ${constants_1.DOWNLOADABLE_MYSQL_VERSIONS[0]} <= ${constants_1.DOWNLOADABLE_MYSQL_VERSIONS[constants_1.DOWNLOADABLE_MYSQL_VERSIONS.length - 1]}. Please check for typos, choose a different version of MySQL to use, or make an issue or pull request on GitHub if you belive this is a bug.`;
|
|
48
48
|
}
|
|
49
49
|
const currentOS = os.platform();
|
|
50
50
|
const OSVersionSupport = constants_1.MYSQL_MIN_OS_SUPPORT[currentOS];
|
|
@@ -111,9 +111,10 @@ function getBinaryURL(versionToGet = "x", currentArch) {
|
|
|
111
111
|
fileLocation = `${(0, semver_1.major)(selectedVersion)}.${(0, semver_1.minor)(selectedVersion)}/mysql-${selectedVersion}${isRC ? '-rc' : isDMR ? '-dmr' : ''}-${constants_1.MYSQL_MACOS_VERSIONS_IN_FILENAME[macOSVersionNameKey]}-${currentArch === 'x64' ? 'x86_64' : 'arm64'}.tar.gz`;
|
|
112
112
|
}
|
|
113
113
|
else if (currentOS === 'linux') {
|
|
114
|
-
const
|
|
114
|
+
const glibcObject = constants_1.MYSQL_LINUX_GLIBC_VERSIONS[currentArch];
|
|
115
|
+
const glibcVersionKeys = Object.keys(glibcObject);
|
|
115
116
|
const glibcVersionKey = glibcVersionKeys.find(range => (0, semver_1.satisfies)(selectedVersion, range));
|
|
116
|
-
const glibcVersion =
|
|
117
|
+
const glibcVersion = glibcObject[glibcVersionKey];
|
|
117
118
|
const minimalInstallAvailableKeys = Object.keys(constants_1.MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE);
|
|
118
119
|
const minimalInstallAvailableKey = minimalInstallAvailableKeys.find(range => (0, semver_1.satisfies)(selectedVersion, range));
|
|
119
120
|
const minimalInstallAvailable = constants_1.MYSQL_LINUX_MINIMAL_INSTALL_AVAILABLE[minimalInstallAvailableKey];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mysql-memory-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "Spin up an ephemeral MySQL database from your JavaScript code",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -27,20 +27,20 @@
|
|
|
27
27
|
"author": "Sebastian-Webster",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@babel/core": "^7.
|
|
31
|
-
"@babel/preset-env": "^7.
|
|
32
|
-
"@babel/preset-typescript": "^7.
|
|
30
|
+
"@babel/core": "^7.27.4",
|
|
31
|
+
"@babel/preset-env": "^7.27.2",
|
|
32
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
33
33
|
"@types/adm-zip": "^0.5.5",
|
|
34
|
-
"@types/node": "^
|
|
35
|
-
"@types/semver": "^7.
|
|
34
|
+
"@types/node": "^24.0.1",
|
|
35
|
+
"@types/semver": "^7.7.0",
|
|
36
36
|
"babel-jest": "^29.7.0",
|
|
37
37
|
"jest": "^29.7.0",
|
|
38
|
-
"mysql2": "^3.
|
|
39
|
-
"typescript": "^5.
|
|
38
|
+
"mysql2": "^3.14.1",
|
|
39
|
+
"typescript": "^5.8.3"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"adm-zip": "^0.5.16",
|
|
43
|
-
"semver": "^7.7.
|
|
43
|
+
"semver": "^7.7.2",
|
|
44
44
|
"signal-exit": "^4.1.0"
|
|
45
45
|
},
|
|
46
46
|
"repository": {
|
package/dist/src/versions.json
DELETED
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"version": "9.1.0",
|
|
4
|
-
"arch": "arm64",
|
|
5
|
-
"os": "darwin",
|
|
6
|
-
"osKernelVersionsSupported": ">=22",
|
|
7
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-9.1.0-macos14-arm64.tar.gz"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"version": "9.1.0",
|
|
11
|
-
"arch": "x64",
|
|
12
|
-
"os": "darwin",
|
|
13
|
-
"osKernelVersionsSupported": ">=22",
|
|
14
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-9.1.0-macos14-x86_64.tar.gz"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"version": "9.1.0",
|
|
18
|
-
"arch": "x64",
|
|
19
|
-
"os": "linux",
|
|
20
|
-
"osKernelVersionsSupported": "*",
|
|
21
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-9.1.0-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"version": "9.1.0",
|
|
25
|
-
"arch": "arm64",
|
|
26
|
-
"os": "linux",
|
|
27
|
-
"osKernelVersionsSupported": "*",
|
|
28
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-9.1.0-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"version": "9.1.0",
|
|
32
|
-
"arch": "x64",
|
|
33
|
-
"os": "win32",
|
|
34
|
-
"osKernelVersionsSupported": "*",
|
|
35
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-9.1.0-winx64.zip"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"version": "8.4.3",
|
|
39
|
-
"arch": "arm64",
|
|
40
|
-
"os": "darwin",
|
|
41
|
-
"osKernelVersionsSupported": ">=22",
|
|
42
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-macos14-arm64.tar.gz"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"version": "8.4.3",
|
|
46
|
-
"arch": "x64",
|
|
47
|
-
"os": "darwin",
|
|
48
|
-
"osKernelVersionsSupported": ">=22",
|
|
49
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-macos14-x86_64.tar.gz"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"version": "8.4.3",
|
|
53
|
-
"arch": "x64",
|
|
54
|
-
"os": "linux",
|
|
55
|
-
"osKernelVersionsSupported": "*",
|
|
56
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"version": "8.4.3",
|
|
60
|
-
"arch": "arm64",
|
|
61
|
-
"os": "linux",
|
|
62
|
-
"osKernelVersionsSupported": "*",
|
|
63
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"version": "8.4.3",
|
|
67
|
-
"arch": "x64",
|
|
68
|
-
"os": "win32",
|
|
69
|
-
"osKernelVersionsSupported": "*",
|
|
70
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-winx64.zip"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"version": "8.0.40",
|
|
74
|
-
"arch": "arm64",
|
|
75
|
-
"os": "darwin",
|
|
76
|
-
"osKernelVersionsSupported": ">=22",
|
|
77
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-macos14-arm64.tar.gz"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"version": "8.0.40",
|
|
81
|
-
"arch": "x64",
|
|
82
|
-
"os": "darwin",
|
|
83
|
-
"osKernelVersionsSupported": ">=22",
|
|
84
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-macos14-x86_64.tar.gz"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"version": "8.0.40",
|
|
88
|
-
"arch": "x64",
|
|
89
|
-
"os": "linux",
|
|
90
|
-
"osKernelVersionsSupported": "*",
|
|
91
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"version": "8.0.40",
|
|
95
|
-
"arch": "arm64",
|
|
96
|
-
"os": "linux",
|
|
97
|
-
"osKernelVersionsSupported": "*",
|
|
98
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"version": "8.0.40",
|
|
102
|
-
"arch": "x64",
|
|
103
|
-
"os": "win32",
|
|
104
|
-
"osKernelVersionsSupported": "*",
|
|
105
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-winx64.zip"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"version": "9.0.1",
|
|
109
|
-
"arch": "arm64",
|
|
110
|
-
"os": "darwin",
|
|
111
|
-
"osKernelVersionsSupported": ">=22",
|
|
112
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.0/mysql-9.0.1-macos14-arm64.tar.gz"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"version": "9.0.1",
|
|
116
|
-
"arch": "x64",
|
|
117
|
-
"os": "darwin",
|
|
118
|
-
"osKernelVersionsSupported": ">=22",
|
|
119
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.0/mysql-9.0.1-macos14-x86_64.tar.gz"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"version": "9.0.1",
|
|
123
|
-
"arch": "x64",
|
|
124
|
-
"os": "linux",
|
|
125
|
-
"osKernelVersionsSupported": "*",
|
|
126
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.0/mysql-9.0.1-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"version": "9.0.1",
|
|
130
|
-
"arch": "arm64",
|
|
131
|
-
"os": "linux",
|
|
132
|
-
"osKernelVersionsSupported": "*",
|
|
133
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.0/mysql-9.0.1-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"version": "9.0.1",
|
|
137
|
-
"arch": "x64",
|
|
138
|
-
"os": "win32",
|
|
139
|
-
"osKernelVersionsSupported": "*",
|
|
140
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-9.0/mysql-9.0.1-winx64.zip"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"version": "8.4.2",
|
|
144
|
-
"arch": "arm64",
|
|
145
|
-
"os": "darwin",
|
|
146
|
-
"osKernelVersionsSupported": ">=22",
|
|
147
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.2-macos14-arm64.tar.gz"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"version": "8.4.2",
|
|
151
|
-
"arch": "x64",
|
|
152
|
-
"os": "darwin",
|
|
153
|
-
"osKernelVersionsSupported": ">=22",
|
|
154
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.2-macos14-x86_64.tar.gz"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"version": "8.4.2",
|
|
158
|
-
"arch": "x64",
|
|
159
|
-
"os": "linux",
|
|
160
|
-
"osKernelVersionsSupported": "*",
|
|
161
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.2-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"version": "8.4.2",
|
|
165
|
-
"arch": "arm64",
|
|
166
|
-
"os": "linux",
|
|
167
|
-
"osKernelVersionsSupported": "*",
|
|
168
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.2-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"version": "8.4.2",
|
|
172
|
-
"arch": "x64",
|
|
173
|
-
"os": "win32",
|
|
174
|
-
"osKernelVersionsSupported": "*",
|
|
175
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.2-winx64.zip"
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
"version": "8.0.39",
|
|
179
|
-
"arch": "arm64",
|
|
180
|
-
"os": "darwin",
|
|
181
|
-
"osKernelVersionsSupported": ">=22",
|
|
182
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-macos14-arm64.tar.gz"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"version": "8.0.39",
|
|
186
|
-
"arch": "x64",
|
|
187
|
-
"os": "darwin",
|
|
188
|
-
"osKernelVersionsSupported": ">=22",
|
|
189
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-macos14-x86_64.tar.gz"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"version": "8.0.39",
|
|
193
|
-
"arch": "x64",
|
|
194
|
-
"os": "linux",
|
|
195
|
-
"osKernelVersionsSupported": "*",
|
|
196
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
"version": "8.0.39",
|
|
200
|
-
"arch": "arm64",
|
|
201
|
-
"os": "linux",
|
|
202
|
-
"osKernelVersionsSupported": "*",
|
|
203
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
"version": "8.0.39",
|
|
207
|
-
"arch": "x64",
|
|
208
|
-
"os": "win32",
|
|
209
|
-
"osKernelVersionsSupported": "*",
|
|
210
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-winx64.zip"
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
"version": "8.1.0",
|
|
214
|
-
"arch": "arm64",
|
|
215
|
-
"os": "darwin",
|
|
216
|
-
"osKernelVersionsSupported": ">=22",
|
|
217
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.1/mysql-8.1.0-macos13-arm64.tar.gz"
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"version": "8.1.0",
|
|
221
|
-
"arch": "x64",
|
|
222
|
-
"os": "darwin",
|
|
223
|
-
"osKernelVersionsSupported": ">=22",
|
|
224
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.1/mysql-8.1.0-macos13-x86_64.tar.gz"
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"version": "8.1.0",
|
|
228
|
-
"arch": "x64",
|
|
229
|
-
"os": "linux",
|
|
230
|
-
"osKernelVersionsSupported": "*",
|
|
231
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.1/mysql-8.1.0-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
"version": "8.1.0",
|
|
235
|
-
"arch": "arm64",
|
|
236
|
-
"os": "linux",
|
|
237
|
-
"osKernelVersionsSupported": "*",
|
|
238
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.1/mysql-8.1.0-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
"version": "8.1.0",
|
|
242
|
-
"arch": "x64",
|
|
243
|
-
"os": "win32",
|
|
244
|
-
"osKernelVersionsSupported": "*",
|
|
245
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.1/mysql-8.1.0-winx64.zip"
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
"version": "8.2.0",
|
|
249
|
-
"arch": "arm64",
|
|
250
|
-
"os": "darwin",
|
|
251
|
-
"osKernelVersionsSupported": ">=22",
|
|
252
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-macos13-arm64.tar.gz"
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"version": "8.2.0",
|
|
256
|
-
"arch": "x64",
|
|
257
|
-
"os": "darwin",
|
|
258
|
-
"osKernelVersionsSupported": ">=22",
|
|
259
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-macos13-x86_64.tar.gz"
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
"version": "8.2.0",
|
|
263
|
-
"arch": "x64",
|
|
264
|
-
"os": "linux",
|
|
265
|
-
"osKernelVersionsSupported": "*",
|
|
266
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
"version": "8.2.0",
|
|
270
|
-
"arch": "arm64",
|
|
271
|
-
"os": "linux",
|
|
272
|
-
"osKernelVersionsSupported": "*",
|
|
273
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
274
|
-
},
|
|
275
|
-
{
|
|
276
|
-
"version": "8.2.0",
|
|
277
|
-
"arch": "x64",
|
|
278
|
-
"os": "win32",
|
|
279
|
-
"osKernelVersionsSupported": "*",
|
|
280
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip"
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
"version": "8.3.0",
|
|
284
|
-
"arch": "arm64",
|
|
285
|
-
"os": "darwin",
|
|
286
|
-
"osKernelVersionsSupported": ">=22",
|
|
287
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.3/mysql-8.3.0-macos14-arm64.tar.gz"
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"version": "8.3.0",
|
|
291
|
-
"arch": "x64",
|
|
292
|
-
"os": "darwin",
|
|
293
|
-
"osKernelVersionsSupported": ">=22",
|
|
294
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.3/mysql-8.3.0-macos14-x86_64.tar.gz"
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"version": "8.3.0",
|
|
298
|
-
"arch": "x64",
|
|
299
|
-
"os": "linux",
|
|
300
|
-
"osKernelVersionsSupported": "*",
|
|
301
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.3/mysql-8.3.0-linux-glibc2.17-x86_64-minimal.tar.xz"
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
"version": "8.3.0",
|
|
305
|
-
"arch": "arm64",
|
|
306
|
-
"os": "linux",
|
|
307
|
-
"osKernelVersionsSupported": "*",
|
|
308
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.3/mysql-8.3.0-linux-glibc2.17-aarch64-minimal.tar.xz"
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
"version": "8.3.0",
|
|
312
|
-
"arch": "x64",
|
|
313
|
-
"os": "win32",
|
|
314
|
-
"osKernelVersionsSupported": "*",
|
|
315
|
-
"url": "https://cdn.mysql.com//Downloads/MySQL-8.3/mysql-8.3.0-winx64.zip"
|
|
316
|
-
}
|
|
317
|
-
]
|