diff --git a/package.json b/package.json
index 19b08be..5d0bd38 100644
--- a/package.json
+++ b/package.json
@@ -117,6 +117,7 @@
"long": "^4.0.0",
"node-machine-id": "^1.1.12",
"osu-db-parser": "git+https://github.com/yadPe/osu-db-parser.git#6cc783f3a9270f730cd5038d03ada4a78634cd65",
+ "osu-lazer-db-reader": "0.1.6",
"ps-node": "^0.1.6",
"react": "^18.1.0",
"react-dom": "^18.1.0",
diff --git a/scripts/start.js b/scripts/start.js
index e4c93c5..16bfe90 100644
--- a/scripts/start.js
+++ b/scripts/start.js
@@ -142,6 +142,7 @@ checkBrowsers(paths.appPath, isInteractive)
console.log(chalk.green("Run 'yarn electron-dev' from either powershell or cmd."));
} else {
console.log(chalk.yellow("Couldn't launch electron, try starting it manually"));
+ console.error(err);
}
}
}).stdout.pipe(process.stdout).on('exit', () => console.log('Electron process terminated'));
diff --git a/src/App/Providers/HistoryProvider.js b/src/App/Providers/HistoryProvider.js
index e513a20..1a410a9 100644
--- a/src/App/Providers/HistoryProvider.js
+++ b/src/App/Providers/HistoryProvider.js
@@ -6,7 +6,10 @@ import { outputJSON, readJson } from 'fs-extra';
import { join } from 'path';
import { error, log } from 'electron-log';
import { memoize } from 'underscore';
+import { ipcRenderer } from 'electron';
+import { connect } from 'react-redux';
import { getOsPath } from '../helpers/path';
+import { getIsLazer, getOsuPath } from '../modules/Settings/reducer/selectors';
export const HistoryContext = createContext();
export const useDownloadHistory = () => useContext(HistoryContext);
@@ -74,7 +77,18 @@ class HistoryProvider extends Component {
}
componentDidMount() {
- this._readHistory();
+ const setup = async () => {
+ await this._readHistory();
+
+ const { osuPath, isLazer } = this.props;
+ const result = await ipcRenderer.invoke('osuSongsScan', {
+ osuPath,
+ isLazer,
+ });
+
+ this.set(result);
+ };
+ setup();
}
componentDidUpdate() {
@@ -127,8 +141,8 @@ class HistoryProvider extends Component {
});
};
- _readHistory = () => {
- readJson(this.path)
+ _readHistory = async () => {
+ await readJson(this.path)
.then(rawHistory => {
// Check if history is from a version prior to 0.3.0
if (!Array.isArray(Object.values(rawHistory)[0])) {
@@ -175,4 +189,8 @@ class HistoryProvider extends Component {
}
}
-export default HistoryProvider;
+const mapStateToProps = state => ({
+ osuPath: getOsuPath(state),
+ isLazer: getIsLazer(state),
+});
+export default connect(mapStateToProps)(HistoryProvider);
diff --git a/src/App/modules/MyLibrary/index.jsx b/src/App/modules/MyLibrary/index.jsx
index eab1437..93d2af3 100644
--- a/src/App/modules/MyLibrary/index.jsx
+++ b/src/App/modules/MyLibrary/index.jsx
@@ -6,6 +6,7 @@ import { getFadeIn, sectionSwitchAnimation } from '../../helpers/css.utils';
import AllBeatmapsCollection from './components/AllBeatmaps';
import Collection from './components/Collection';
import CollectionDetails from './components/CollectionDetails';
+import { getCollections } from './selectors';
const useStyle = createUseStyles({
...getFadeIn(),
@@ -51,7 +52,7 @@ const MyLibrary = ({ setHeaderContent, collections }) => {
- {Object.entries(collections).map(([name, beatmapsHash]) => (
+ {collections.map(([name, beatmapsHash]) => (
{
);
};
-const mapStateToProps = ({ app, library }) => ({
- windowSize: app.window,
- collections: library.collections,
+const mapStateToProps = (state) => ({
+ windowSize: state.app.window,
+ collections: getCollections(state)
});
export default connect(mapStateToProps)(MyLibrary);
diff --git a/src/App/modules/MyLibrary/selectors.js b/src/App/modules/MyLibrary/selectors.js
new file mode 100644
index 0000000..c81a607
--- /dev/null
+++ b/src/App/modules/MyLibrary/selectors.js
@@ -0,0 +1 @@
+export const getCollections = state => state.library.collections;
diff --git a/src/App/modules/Settings/Setting.js b/src/App/modules/Settings/Setting.js
index db77b11..9475d8a 100644
--- a/src/App/modules/Settings/Setting.js
+++ b/src/App/modules/Settings/Setting.js
@@ -108,7 +108,12 @@ const Setting = ({ settingCategory }) => {
case 'Button':
return (
-
diff --git a/src/App/modules/common/NavPanel/SidePanel/TasksControl.js b/src/App/modules/common/NavPanel/SidePanel/TasksControl.js
index 3e542d6..0cd3f11 100644
--- a/src/App/modules/common/NavPanel/SidePanel/TasksControl.js
+++ b/src/App/modules/common/NavPanel/SidePanel/TasksControl.js
@@ -125,8 +125,10 @@ const TasksControl = ({ onSelect, ...otherProps }) => {
))}
>
);
+ return null;
};
return (
+ // eslint-disable-next-line jsx-a11y/anchor-is-valid
-
-
-
+
+
+
@@ -33,8 +33,8 @@ root.render(
-
-
-
+
+
+
,
);
diff --git a/src/electron/helpers/index.js b/src/electron/helpers/index.js
index fef570d..0adf640 100644
--- a/src/electron/helpers/index.js
+++ b/src/electron/helpers/index.js
@@ -1,3 +1,5 @@
+const { promises: fs } = require('fs');
+
const readableBits = (bytes, decimals) => {
if (bytes === 0) return '0 Bytes';
const k = 1000;
@@ -17,9 +19,19 @@ const getBeatconnectProtocolParams = (argv = [''], protocol) => {
return undefined;
};
+async function exists(path) {
+ try {
+ await fs.access(path);
+ return true;
+ } catch {
+ return false;
+ }
+}
+
module.exports = {
readableBits,
makeDownloadUrl,
getBeatconnectProtocolParams,
removeProtocolPrefix,
+ exists,
};
diff --git a/src/electron/helpers/osuCollections/collections.utils.js b/src/electron/helpers/osuCollections/collections.utils.js
index 6912ca2..f1d6a82 100644
--- a/src/electron/helpers/osuCollections/collections.utils.js
+++ b/src/electron/helpers/osuCollections/collections.utils.js
@@ -6,7 +6,7 @@ const readCollectionDB = path =>
fs.readFile(path, (err, buf) => {
if (err || !buf) return reject(new Error('Failed to open collection.db'));
- const collections = {};
+ const collections = [];
// eslint-disable-next-line no-underscore-dangle, no-unused-vars
const _version = buf.readInt32LE(0);
@@ -15,7 +15,8 @@ const readCollectionDB = path =>
for (let i = 0; i < collectionCount; i++) {
const name = readString(buf, offset);
offset += name.length;
- collections[name.str] = [];
+
+ collections[i] = [name.str, []];
const beatmapCount = buf.readInt32LE(offset);
offset += 4;
@@ -23,7 +24,7 @@ const readCollectionDB = path =>
for (let j = 0; j < beatmapCount; j++) {
const md5 = readString(buf, offset);
offset += md5.length;
- collections[name.str].push(md5.str);
+ collections[i][1].push(md5.str);
}
}
@@ -36,19 +37,17 @@ const writeCollectionDB = (path, collections) =>
let buf = Buffer.alloc(8);
buf.writeInt32LE(20160212);
- buf.writeInt32LE(Object.keys(collections).length, 4);
+ buf.writeInt32LE(collections.length, 4);
- const collectionNames = Object.keys(collections);
-
- collectionNames.forEach(name => {
+ collections.forEach(([name, beatmapsMd5]) => {
buf = Buffer.concat([buf, createString(name)]);
const beatmapCountBuf = Buffer.alloc(4);
- beatmapCountBuf.writeInt32LE(collections[name].length);
+ beatmapCountBuf.writeInt32LE(beatmapsMd5.length);
buf = Buffer.concat([buf, beatmapCountBuf]);
- for (let j = 0; j < collections[name].length; j++) {
- buf = Buffer.concat([buf, createString(collections[name][j])]);
+ for (let j = 0; j < beatmapsMd5.length; j++) {
+ buf = Buffer.concat([buf, createString(beatmapsMd5[j])]);
}
});
diff --git a/src/electron/helpers/osuLazer.js b/src/electron/helpers/osuLazer.js
new file mode 100644
index 0000000..5e54aa0
--- /dev/null
+++ b/src/electron/helpers/osuLazer.js
@@ -0,0 +1,8 @@
+const { open } = require('osu-lazer-db-reader');
+
+const readLazerDb = async path => {
+ const { beatmaps } = await open(path);
+ return beatmaps;
+};
+
+module.exports = { readLazerDb };
diff --git a/src/electron/helpers/osudb.js b/src/electron/helpers/osudb.js
index 6da08d1..bd81412 100644
--- a/src/electron/helpers/osudb.js
+++ b/src/electron/helpers/osudb.js
@@ -190,16 +190,3 @@ module.exports = {
readScoresDB,
writeScoresDB,
};
-
-// readCollectionDB('./collection.db', collections => {
-// console.log('READ : ', collections);
-// collections['Top KEK'] = [
-// 'DABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB',
-// 'OMEGAROBDAB',
-// 'SAMARCH',
-// '44444444444444444444444444444449',
-// ];
-// writeCollectionDB('./collection.db', collections, () => {
-// readCollectionDB('./collection.db', console.log);
-// });
-// });
diff --git a/src/electron/ipcMessages.js b/src/electron/ipcMessages.js
index 27e0e66..64d5890 100644
--- a/src/electron/ipcMessages.js
+++ b/src/electron/ipcMessages.js
@@ -4,13 +4,14 @@ const { ipcMain, dialog, shell } = require('electron');
const fs = require('fs').promises;
const { join } = require('path');
const { downloadAndSetWallpaper } = require('./wallpaper');
-const { readCollectionDB } = require('./helpers/osuCollections/collections.utils');
+const { readCollectionDB, writeCollectionDB } = require('./helpers/osuCollections/collections.utils');
const startPullingOsuState = require('./threads/osuIsRunning');
const scanOsuDb = require('./threads/osuSongsScan');
+const { exists } = require('./helpers');
-ipcMain.handle('osuSongsScan', async (event, { osuPath }) => {
+ipcMain.handle('osuSongsScan', async (event, { osuPath, isLazer }) => {
try {
- const [beatmaps, overallDuration, overallUnplayedCount] = await scanOsuDb(`${osuPath}/osu!.db`);
+ const [beatmaps, overallDuration, overallUnplayedCount] = await scanOsuDb(`${osuPath}/osu!.db`, isLazer);
return { beatmaps, overallDuration, overallUnplayedCount };
} catch (e) {
error(`[scan-osu-songs]: ${e.message}`);
@@ -46,6 +47,17 @@ ipcMain.once('start-pulling-osu-state', event => {
ipcMain.handle('scan-osu-collections', async (event, osuPath) => {
try {
const collection = await readCollectionDB(`${osuPath}/collection.db`);
+
+ // const test = await readCollectionDB(`${osuPath}/collection.db`);
+
+ // console.log('READ : ', test);
+ // test.push([
+ // 'Top KEK',
+ // ['DABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB', 'OMEGAROBDAB', 'SAMARCH', '44444444444444444444444444444449'],
+ // ]);
+
+ // await writeCollectionDB(`${osuPath}/collection.db`, test);
+
return collection;
} catch (e) {
error(`[scan-osu-collections]: ${e.message}`);
@@ -54,12 +66,13 @@ ipcMain.handle('scan-osu-collections', async (event, osuPath) => {
});
ipcMain.handle('validate-osu-path', async (event, osuPath) => {
- try {
- const isPathValid = await fs.stat(`${osuPath}/osu!.db`);
- return isPathValid.isFile();
- } catch {
- return false;
+ const isPathValid = await exists(`${osuPath}/collection.db`);
+ if (isPathValid) {
+ const isLegacyOsu = await exists(`${osuPath}/osu.db`);
+ const isLazer = await exists(`${osuPath}/client.realm`);
+ return { isValid: isLegacyOsu || isLazer, isLazer };
}
+ return { isValid: false, isLazer: false };
});
ipcMain.handle('is-dir', async (event, path) => {
diff --git a/src/electron/threads/osuSongsScan.js b/src/electron/threads/osuSongsScan.js
index 91cae35..fbb0bb2 100644
--- a/src/electron/threads/osuSongsScan.js
+++ b/src/electron/threads/osuSongsScan.js
@@ -1,31 +1,71 @@
const { Worker } = require('worker_threads');
const { join } = require('path');
const { error } = require('electron-log');
+const { readLazerDb } = require('../helpers/osuLazer');
-const scanOsuDb = osuDbPath =>
+const scanOsuDb = (osuDbPath, isLazer = false) =>
new Promise((resolve, reject) => {
- const worker = new Worker(join(__dirname, './osuSongsScan.worker.js'));
- const terminate = () => {
- worker.removeAllListeners();
- worker.terminate();
- };
- worker.on('message', data => {
- switch (data[0]) {
- case 'result':
- terminate();
- resolve(data[1]);
- break;
- case 'error':
- terminate();
- error(`[scanOsuDb thread]: ${data[1]}`);
- reject(data[1]);
- break;
- default:
- terminate();
- break;
+ switch (isLazer) {
+ case true: {
+ readLazerDb('/Users/ypetitot/.local/share/osu/client.realm')
+ .then(beatmaps => {
+ const beatmapsList = {};
+
+ beatmaps.forEach(beatmap => {
+ if (beatmap.BeatmapSet.OnlineID === -1) return;
+
+ if (beatmapsList[beatmap.BeatmapSet.OnlineID]) {
+ beatmapsList[beatmap.BeatmapSet.OnlineID].mapsMd5.push(beatmap.MD5Hash);
+ return;
+ }
+ beatmapsList[beatmap.BeatmapSet.OnlineID] = {
+ id: beatmap.BeatmapSet.OnlineID,
+ date: beatmap.BeatmapSet.DateAdded.getTime(),
+ title: beatmap.Metadata.Title,
+ artist: beatmap.Metadata.Artist,
+ creator: beatmap.Metadata.Author.Username,
+ isUnplayed: false,
+ mapsMd5: [beatmap.MD5Hash],
+ audioPath: '',
+ previewOffset: beatmap.Metadata.PreviewTime,
+ songDuration: beatmap.Length / 1000,
+ };
+ });
+
+ resolve([beatmapsList]);
+ })
+ .catch(reject);
+
+ break;
}
- });
- worker.postMessage(osuDbPath);
+ case false: {
+ const worker = new Worker(join(__dirname, './osuSongsScan.worker.js'));
+ const terminate = () => {
+ worker.removeAllListeners();
+ worker.terminate();
+ };
+ worker.on('message', data => {
+ switch (data[0]) {
+ case 'result':
+ terminate();
+ resolve(data[1]);
+ break;
+ case 'error':
+ terminate();
+ error(`[scanOsuDb thread]: ${data[1]}`);
+ reject(data[1]);
+ break;
+ default:
+ terminate();
+ break;
+ }
+ });
+ worker.postMessage({ osuDbPath, isLazer });
+ break;
+ }
+ default:
+ break;
+ }
});
module.exports = scanOsuDb;
diff --git a/src/electron/threads/osuSongsScan.worker.js b/src/electron/threads/osuSongsScan.worker.js
index 9e29eac..1971a8d 100644
--- a/src/electron/threads/osuSongsScan.worker.js
+++ b/src/electron/threads/osuSongsScan.worker.js
@@ -2,40 +2,52 @@ const { parentPort } = require('worker_threads');
const { join } = require('path');
const { readOsuDB, winTickToMs } = require('../helpers/osudb');
-parentPort.on('message', osuDbPath => {
- if (osuDbPath) {
- try {
- const re = readOsuDB(osuDbPath);
- const beatmaps = {};
- let overallDuration = 0;
- let overallUnplayedCount = 0;
- if (!re.beatmaps || !Array.isArray(re.beatmaps)) {
- throw new Error('Could not get beatmaps from osu db');
- }
- re.beatmaps.forEach(beatmap => {
- if (beatmap.beatmapset_id === -1) return;
- if (beatmaps[beatmap.beatmapset_id]) {
- beatmaps[beatmap.beatmapset_id].mapsMd5.push(beatmap.md5);
- return;
- }
- if (beatmap.unplayed) overallUnplayedCount += 1;
- overallDuration += beatmap.total_time;
- beatmaps[beatmap.beatmapset_id] = {
- id: beatmap.beatmapset_id,
- date: winTickToMs(beatmap.last_modification_time),
- title: beatmap.song_title,
- artist: beatmap.artist_name,
- creator: beatmap.creator_name,
- isUnplayed: beatmap.unplayed,
- mapsMd5: [beatmap.md5],
- audioPath: join(beatmap.folder_name, beatmap.audio_file_name),
- previewOffset: beatmap.preview_offset,
- songDuration: Math.ceil(beatmap.total_time / 1000),
- };
- });
- parentPort.postMessage(['result', [beatmaps, overallDuration, overallUnplayedCount]]);
- } catch (e) {
- parentPort.postMessage(['error', e.message]);
+parentPort.on('message', ({ osuDbPath, isLazer = false }) => {
+ if (!osuDbPath) {
+ parentPort.postMessage(['error', 'missing osuDbPath']);
+ return;
+ }
+ switch (isLazer) {
+ case true: {
+ break;
}
+ case false: {
+ try {
+ const re = readOsuDB(osuDbPath);
+ const beatmaps = {};
+ let overallDuration = 0;
+ let overallUnplayedCount = 0;
+ if (!re.beatmaps || !Array.isArray(re.beatmaps)) {
+ throw new Error('Could not get beatmaps from osu db');
+ }
+ re.beatmaps.forEach(beatmap => {
+ if (beatmap.beatmapset_id === -1) return;
+ if (beatmaps[beatmap.beatmapset_id]) {
+ beatmaps[beatmap.beatmapset_id].mapsMd5.push(beatmap.md5);
+ return;
+ }
+ if (beatmap.unplayed) overallUnplayedCount += 1;
+ overallDuration += beatmap.total_time;
+ beatmaps[beatmap.beatmapset_id] = {
+ id: beatmap.beatmapset_id,
+ date: winTickToMs(beatmap.last_modification_time),
+ title: beatmap.song_title,
+ artist: beatmap.artist_name,
+ creator: beatmap.creator_name,
+ isUnplayed: beatmap.unplayed,
+ mapsMd5: [beatmap.md5],
+ audioPath: join(beatmap.folder_name, beatmap.audio_file_name),
+ previewOffset: beatmap.preview_offset,
+ songDuration: Math.ceil(beatmap.total_time / 1000),
+ };
+ });
+ parentPort.postMessage(['result', [beatmaps, overallDuration, overallUnplayedCount]]);
+ } catch (e) {
+ parentPort.postMessage(['error', e.message]);
+ }
+ break;
+ }
+ default:
+ break;
}
});
diff --git a/yarn.lock b/yarn.lock
index cb67866..4b230ea 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2208,6 +2208,13 @@ __metadata:
languageName: node
linkType: hard
+"@realm.io/common@npm:^0.1.1":
+ version: 0.1.1
+ resolution: "@realm.io/common@npm:0.1.1"
+ checksum: 29e9e0e0f706d31e1c12babb9d019f87bbd4a51b006d7b4796de375f9bb53ca893beb05a3e21b31d32314dbb905a9dadeebd4742c09a9ff83a612af7c5656192
+ languageName: node
+ linkType: hard
+
"@rescript/react@npm:0.10.3":
version: 0.10.3
resolution: "@rescript/react@npm:0.10.3"
@@ -2957,6 +2964,15 @@ __metadata:
languageName: node
linkType: hard
+"abort-controller@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "abort-controller@npm:3.0.0"
+ dependencies:
+ event-target-shim: ^5.0.0
+ checksum: cc53ad8df9a6de3f55d4f804fca5106908f855e47b572fb5ab3cdd723b76374686dcefa557a2f87d4396db77e31bc0e6ce9d48637388cef6d884c29ad2691448
+ languageName: node
+ linkType: hard
+
"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8":
version: 1.3.8
resolution: "accepts@npm:1.3.8"
@@ -3069,6 +3085,15 @@ __metadata:
languageName: node
linkType: hard
+"agent-base@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "agent-base@npm:4.3.0"
+ dependencies:
+ es6-promisify: ^5.0.0
+ checksum: b40b7d9675c475202afac88c31d5ce42f041e50d2028bd4ad0cfc25b60abe4aedf6b976d9f653641663cbf45295539282d0cf7d50ece7f7c1dd0c05dc99a8112
+ languageName: node
+ linkType: hard
+
"agentkeepalive@npm:^4.2.1":
version: 4.2.1
resolution: "agentkeepalive@npm:4.2.1"
@@ -3300,7 +3325,7 @@ __metadata:
languageName: node
linkType: hard
-"aproba@npm:^1.1.1":
+"aproba@npm:^1.0.3, aproba@npm:^1.1.1":
version: 1.2.0
resolution: "aproba@npm:1.2.0"
checksum: d4bac3e640af1f35eea8d5ee2b96ce2682549e47289f071aa37ae56066e19d239e43dea170c207d0f71586d7634099089523dd5701f26d4ded7b31dd5848a24a
@@ -3317,6 +3342,16 @@ __metadata:
languageName: node
linkType: hard
+"are-we-there-yet@npm:~1.1.2":
+ version: 1.1.7
+ resolution: "are-we-there-yet@npm:1.1.7"
+ dependencies:
+ delegates: ^1.0.0
+ readable-stream: ^2.0.6
+ checksum: 2f2301155887bba5217cadd2a8aeffbc9716bd6339353950732bf3f2df6bbbec2b8a1291066a985719e30dd2a3eb873e9d81ed7962d2c46f9ac182dd265f97ed
+ languageName: node
+ linkType: hard
+
"argparse@npm:^1.0.7":
version: 1.0.10
resolution: "argparse@npm:1.0.10"
@@ -3364,6 +3399,13 @@ __metadata:
languageName: node
linkType: hard
+"array-back@npm:^3.0.1, array-back@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "array-back@npm:3.1.0"
+ checksum: 959a3377f21ac97490bc14607cc3fe888d087dc7beadab8db09e03061d59e901d695ac870b050f37cddd261e03963e4fca86287e3055e0688a06b95be66f0825
+ languageName: node
+ linkType: hard
+
"array-equal@npm:^1.0.0":
version: 1.0.0
resolution: "array-equal@npm:1.0.0"
@@ -3464,6 +3506,13 @@ __metadata:
languageName: node
linkType: hard
+"asap@npm:~2.0.3":
+ version: 2.0.6
+ resolution: "asap@npm:2.0.6"
+ checksum: 3d314f8c598b625a98347bacdba609d4c889c616ca5d8ea65acaae8050ab8b7aa6630df2cfe9856c20b260b432adf2ee7a65a1021f268ef70408c70f809e3a39
+ languageName: node
+ linkType: hard
+
"asar@npm:^3.1.0":
version: 3.1.0
resolution: "asar@npm:3.1.0"
@@ -3585,6 +3634,13 @@ __metadata:
languageName: node
linkType: hard
+"async@npm:^3.2.3":
+ version: 3.2.3
+ resolution: "async@npm:3.2.3"
+ checksum: 566b6d62e3108757bca3bfbd2313d833bf3b13fb8d65a7715db8b5de7a284271584aee2029f7f39cc6f39cd9cb58336ea204003f76ca02c31240919022948b97
+ languageName: node
+ linkType: hard
+
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -3972,6 +4028,7 @@ __metadata:
miragejs: ^0.1.41
node-machine-id: ^1.1.12
osu-db-parser: "git+https://github.com/yadPe/osu-db-parser.git#6cc783f3a9270f730cd5038d03ada4a78634cd65"
+ osu-lazer-db-reader: 0.1.6
pnp-webpack-plugin: 1.2.1
prettier: ^1.18.2
ps-node: ^0.1.6
@@ -4028,6 +4085,17 @@ __metadata:
languageName: node
linkType: hard
+"bl@npm:^4.0.3":
+ version: 4.1.0
+ resolution: "bl@npm:4.1.0"
+ dependencies:
+ buffer: ^5.5.0
+ inherits: ^2.0.4
+ readable-stream: ^3.4.0
+ checksum: 15d009339c2eeaedb9dab39c48f910a2fd6a9ba11400e61990917ebf3b25fa32cd9b80c7531a95467078258f6a59bd3f5d93323565423a7843855a16a1794261
+ languageName: node
+ linkType: hard
+
"bluebird-lst@npm:^1.0.9":
version: 1.0.9
resolution: "bluebird-lst@npm:1.0.9"
@@ -4299,6 +4367,15 @@ __metadata:
languageName: node
linkType: hard
+"bson@npm:4.4.1":
+ version: 4.4.1
+ resolution: "bson@npm:4.4.1"
+ dependencies:
+ buffer: ^5.6.0
+ checksum: 2f6ba7f22a0818f0fd33509dd723a9f3f800f0142a7109180d5b17dca4e8cb67461c9f2c9fad71e68d9b9435f499d1b028af6eefa812f3ba727aeeec72a61c89
+ languageName: node
+ linkType: hard
+
"buffer-alloc-unsafe@npm:^1.1.0":
version: 1.1.0
resolution: "buffer-alloc-unsafe@npm:1.1.0"
@@ -4369,7 +4446,7 @@ __metadata:
languageName: node
linkType: hard
-"buffer@npm:^5.1.0":
+"buffer@npm:^5.1.0, buffer@npm:^5.5.0, buffer@npm:^5.6.0":
version: 5.7.1
resolution: "buffer@npm:5.7.1"
dependencies:
@@ -4630,6 +4707,13 @@ __metadata:
languageName: node
linkType: hard
+"caseless@npm:~0.11.0":
+ version: 0.11.0
+ resolution: "caseless@npm:0.11.0"
+ checksum: 548c8594a26fc3ad14c8ba3df7674f0b45ca6886a3d5b6e77232b490d31e491d2d1b35ba724af6598d7be6ff4acb684afa65ae85a5ad377b91b3b5cb536ee178
+ languageName: node
+ linkType: hard
+
"caseless@npm:~0.12.0":
version: 0.12.0
resolution: "caseless@npm:0.12.0"
@@ -4803,6 +4887,21 @@ __metadata:
languageName: node
linkType: hard
+"clang-format@npm:^1.6.0":
+ version: 1.8.0
+ resolution: "clang-format@npm:1.8.0"
+ dependencies:
+ async: ^3.2.3
+ glob: ^7.0.0
+ resolve: ^1.1.6
+ bin:
+ check-clang-format: bin/check-clang-format.js
+ clang-format: index.js
+ git-clang-format: bin/git-clang-format
+ checksum: ab9c75aff5ade98ff08c9599c9f557c85f6fc5e61c757c6c3f8480667bfb75f445613c8b533ce58edee44248a6e84aa9df47bbcbcf38e97703f89a80e0d832cf
+ languageName: node
+ linkType: hard
+
"class-utils@npm:^0.3.5":
version: 0.3.6
resolution: "class-utils@npm:0.3.6"
@@ -4924,6 +5023,13 @@ __metadata:
languageName: node
linkType: hard
+"code-point-at@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "code-point-at@npm:1.1.0"
+ checksum: 7d9837296e0f1c00239c88542f5a3e0bad11e45d3d0e8d9d097901fe54722dd5d2c006969077a287be8648a202c43f74e096f17552cbd897568308fba7b87ac0
+ languageName: node
+ linkType: hard
+
"collect-v8-coverage@npm:^1.0.0":
version: 1.0.1
resolution: "collect-v8-coverage@npm:1.0.1"
@@ -4998,6 +5104,18 @@ __metadata:
languageName: node
linkType: hard
+"command-line-args@npm:^5.1.1":
+ version: 5.2.1
+ resolution: "command-line-args@npm:5.2.1"
+ dependencies:
+ array-back: ^3.1.0
+ find-replace: ^3.0.0
+ lodash.camelcase: ^4.3.0
+ typical: ^4.0.0
+ checksum: d1ac094956e20d52f8da015718586b04dec3b99455fd00c8c1776bbecbc5d94da97a0adb6bdcf31d100b8aebfb970bd47a82604975d15a720012b07a8da56826
+ languageName: node
+ linkType: hard
+
"commander@npm:2.17.x":
version: 2.17.1
resolution: "commander@npm:2.17.1"
@@ -5097,7 +5215,7 @@ __metadata:
languageName: node
linkType: hard
-"concat-stream@npm:^1.5.0, concat-stream@npm:^1.6.2":
+"concat-stream@npm:^1.4.6, concat-stream@npm:^1.4.7, concat-stream@npm:^1.5.0, concat-stream@npm:^1.6.2":
version: 1.6.2
resolution: "concat-stream@npm:1.6.2"
dependencies:
@@ -5161,7 +5279,7 @@ __metadata:
languageName: node
linkType: hard
-"console-control-strings@npm:^1.1.0":
+"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0, console-control-strings@npm:~1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
checksum: 58a404d951bf270494fb91e136cf064652c1208ccedac23e4da24e6a3a3933998f302cadc45cbf6582a007a4aa44dab944e84056b24e3b1964e9a28aeedf76c9
@@ -5808,7 +5926,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:^3.1.1, debug@npm:^3.2.5, debug@npm:^3.2.7":
+"debug@npm:^3.1.0, debug@npm:^3.1.1, debug@npm:^3.2.5, debug@npm:^3.2.7":
version: 3.2.7
resolution: "debug@npm:3.2.7"
dependencies:
@@ -5857,6 +5975,15 @@ __metadata:
languageName: node
linkType: hard
+"decompress-response@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "decompress-response@npm:6.0.0"
+ dependencies:
+ mimic-response: ^3.1.0
+ checksum: bb8b8c42be7767994764d27f91a3949e3dc9008da82f1aaeab1de40f1ebb50d7abf17b31b2e4000f8d267a1e75f76052efd58d4419124c04bf430e184c164fad
+ languageName: node
+ linkType: hard
+
"deep-equal@npm:^1.0.1":
version: 1.1.1
resolution: "deep-equal@npm:1.1.1"
@@ -5885,6 +6012,13 @@ __metadata:
languageName: node
linkType: hard
+"deepmerge@npm:2.1.0":
+ version: 2.1.0
+ resolution: "deepmerge@npm:2.1.0"
+ checksum: 7ddcbc182fc324df524ad7e7f079d10d70fc665613a46a04b8979cbe560742410eb866cfec9ea4d58276b2767018da8d225c5146d860340507ddee276e2f0c91
+ languageName: node
+ linkType: hard
+
"deepmerge@npm:^4.2.2":
version: 4.2.2
resolution: "deepmerge@npm:4.2.2"
@@ -5999,6 +6133,13 @@ __metadata:
languageName: node
linkType: hard
+"detect-libc@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "detect-libc@npm:2.0.1"
+ checksum: 18266d3cc95aff315809cd0d292cbb0e40673df164a0a674c31e05ff9574b5b088e9f6517c9ac9b5e1896548edc105ad59af71b4c8172229226fbc448a6814ad
+ languageName: node
+ linkType: hard
+
"detect-newline@npm:^3.0.0":
version: 3.1.0
resolution: "detect-newline@npm:3.1.0"
@@ -6543,7 +6684,7 @@ __metadata:
languageName: node
linkType: hard
-"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0":
+"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
version: 1.4.4
resolution: "end-of-stream@npm:1.4.4"
dependencies:
@@ -6659,6 +6800,22 @@ __metadata:
languageName: node
linkType: hard
+"es6-promise@npm:^4.0.3":
+ version: 4.2.8
+ resolution: "es6-promise@npm:4.2.8"
+ checksum: b85e5faab1b3785b8bf1a6c91b5f176cf3e5e4550359508ef54dd58b19ad2b831e04607e2a0a464f2a1407bf02897d5c88daf6e3d94c2ee4510e8191b44b64ef
+ languageName: node
+ linkType: hard
+
+"es6-promisify@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "es6-promisify@npm:5.0.0"
+ dependencies:
+ es6-promise: ^4.0.3
+ checksum: 657d2f0623ddec94f7e3a881fcd73e33c26e796c25791169b50527014b58995a1cc35578595b6f28a71896d44dc00a98e6cf838804582c8fa38f9a4bb7ef1761
+ languageName: node
+ linkType: hard
+
"escalade@npm:^3.1.1":
version: 3.1.1
resolution: "escalade@npm:3.1.1"
@@ -7082,6 +7239,13 @@ __metadata:
languageName: node
linkType: hard
+"event-target-shim@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "event-target-shim@npm:5.0.1"
+ checksum: d176477a31adf328ff50148886e46cef3f61ff8bdc1d6db161f6b3ead2501085d5652a81fab8dddc59aed93727231c0b5c8a0948de77ae401b2d977a3d18329e
+ languageName: node
+ linkType: hard
+
"eventemitter3@npm:^4.0.0":
version: 4.0.7
resolution: "eventemitter3@npm:4.0.7"
@@ -7177,6 +7341,13 @@ __metadata:
languageName: node
linkType: hard
+"expand-template@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "expand-template@npm:2.0.3"
+ checksum: d1c08a374a2335647562d6958bf23a40371fd9eb64362f3a2475b232a8d2e4bfa8f746066ff45c17efde185dab66f5d0824eaaa26e3e491d03bff50be0be7c3d
+ languageName: node
+ linkType: hard
+
"expect@npm:^26.6.2":
version: 26.6.2
resolution: "expect@npm:26.6.2"
@@ -7497,6 +7668,15 @@ __metadata:
languageName: node
linkType: hard
+"find-replace@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "find-replace@npm:3.0.0"
+ dependencies:
+ array-back: ^3.0.1
+ checksum: 9aec6a6dfe746e7dddb12bf38bd395f30b40d2f3f3518ed10b63286daf9ad9f29ee6b4a74e7e4fda4a3bbd63fca9d96c32fdcb7dfe117010d601d2bf74bbf34d
+ languageName: node
+ linkType: hard
+
"find-root@npm:^1.1.0":
version: 1.1.0
resolution: "find-root@npm:1.1.0"
@@ -7674,6 +7854,13 @@ __metadata:
languageName: node
linkType: hard
+"fs-constants@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "fs-constants@npm:1.0.0"
+ checksum: b8382395f555012591b20bddf08d258723f660b4e7312943d10431a893e2af879295fefc15a917df43c9ed52d80d2f014c0ca8ca359367969be5c8a133e39742
+ languageName: node
+ linkType: hard
+
"fs-extra@npm:^10.0.0":
version: 10.0.1
resolution: "fs-extra@npm:10.0.1"
@@ -7685,6 +7872,17 @@ __metadata:
languageName: node
linkType: hard
+"fs-extra@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "fs-extra@npm:4.0.3"
+ dependencies:
+ graceful-fs: ^4.1.2
+ jsonfile: ^4.0.0
+ universalify: ^0.1.0
+ checksum: ad42def19446c82543ebfa707250de2e1adff8f1c902f9cad3946f69b3dad326696f70e86c3aebeab4bc4f19ff3ef9abee0460d7fb775122f3dc9142a4b1280f
+ languageName: node
+ linkType: hard
+
"fs-extra@npm:^8.1.0":
version: 8.1.0
resolution: "fs-extra@npm:8.1.0"
@@ -7804,6 +8002,22 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"gauge@npm:~2.7.3":
+ version: 2.7.4
+ resolution: "gauge@npm:2.7.4"
+ dependencies:
+ aproba: ^1.0.3
+ console-control-strings: ^1.0.0
+ has-unicode: ^2.0.0
+ object-assign: ^4.1.0
+ signal-exit: ^3.0.0
+ string-width: ^1.0.1
+ strip-ansi: ^3.0.1
+ wide-align: ^1.1.0
+ checksum: b136dbeb8e40acaaddab6c71c9f34d3c9aa104efc538c8c0ddcd74b25efb8daeb8dca24a9b30626b477d66beccd3dee8dd31e25eb4c7c97ec58a3f1a82914be1
+ languageName: node
+ linkType: hard
+
"gensync@npm:^1.0.0-beta.2":
version: 1.0.0-beta.2
resolution: "gensync@npm:1.0.0-beta.2"
@@ -7940,6 +8154,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"github-from-package@npm:0.0.0":
+ version: 0.0.0
+ resolution: "github-from-package@npm:0.0.0"
+ checksum: 9c3bae601535f7de7e2f54cc58dcd2ae62aa7afd262e9edea9021a264e633859ad0aef6ec23328e26607e4259f1efb97ce9b5b01e3f80d7d258085a628c9b710
+ languageName: node
+ linkType: hard
+
"glob-parent@npm:^3.1.0":
version: 3.1.0
resolution: "glob-parent@npm:3.1.0"
@@ -7966,6 +8187,20 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"glob@npm:^7.0.0":
+ version: 7.2.3
+ resolution: "glob@npm:7.2.3"
+ dependencies:
+ fs.realpath: ^1.0.0
+ inflight: ^1.0.4
+ inherits: 2
+ minimatch: ^3.1.1
+ once: ^1.3.0
+ path-is-absolute: ^1.0.0
+ checksum: 48c72ab438f8fc8aa2135d408d8af167d7bacf175b84d87a60d401cbdc50330aeb602cf16868efd4dbdb249117173394c25d49b2f642dd4764813ee6f9458c6c
+ languageName: node
+ linkType: hard
+
"glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0":
version: 7.2.0
resolution: "glob@npm:7.2.0"
@@ -8240,7 +8475,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"has-unicode@npm:^2.0.1":
+"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1":
version: 2.0.1
resolution: "has-unicode@npm:2.0.1"
checksum: ed3719f95cbd7dada9e3fde6fad113eae6d317bc8e818a2350954914c098ca6eddb203261af2c291c49a14c52f83610becbc7ab8d569bee81261b9c260a435f2
@@ -8457,6 +8692,17 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"http-basic@npm:^2.5.1":
+ version: 2.5.1
+ resolution: "http-basic@npm:2.5.1"
+ dependencies:
+ caseless: ~0.11.0
+ concat-stream: ^1.4.6
+ http-response-object: ^1.0.0
+ checksum: d7cc8b94838e84b8049cf4a90378f6d199c36883aa070e9212db1c877efe3b65f4e524d01c86544e9ae618b4eba78257ec1d5470928a794a53f51a0ab82c8286
+ languageName: node
+ linkType: hard
+
"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0":
version: 4.1.0
resolution: "http-cache-semantics@npm:4.1.0"
@@ -8548,6 +8794,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"http-response-object@npm:^1.0.0, http-response-object@npm:^1.0.1, http-response-object@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "http-response-object@npm:1.1.0"
+ checksum: 4a3a131c521056ba7158b300494d9eb9a880fcf4545bb139cb107b903bbb1c52e81c32583cb45cc5ec1a5c61bd3c2f745c783fe7fa569057c19402a72711e7e8
+ languageName: node
+ linkType: hard
+
"http-signature@npm:~1.2.0":
version: 1.2.0
resolution: "http-signature@npm:1.2.0"
@@ -8566,6 +8819,16 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"https-proxy-agent@npm:^2.2.4":
+ version: 2.2.4
+ resolution: "https-proxy-agent@npm:2.2.4"
+ dependencies:
+ agent-base: ^4.3.0
+ debug: ^3.1.0
+ checksum: 4e42bed005d75debcfd6d3901edbd391dd72cda32a2ece4584443eb7025ac0a0f85fb01f45d385608a380f6bf2d659c632776ac17b898c6d991fd9ec1d32a1f0
+ languageName: node
+ linkType: hard
+
"https-proxy-agent@npm:^5.0.0":
version: 5.0.0
resolution: "https-proxy-agent@npm:5.0.0"
@@ -8785,7 +9048,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"ini@npm:^1.3.2, ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0":
+"ini@npm:^1.3.2, ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:^1.3.7, ini@npm:~1.3.0":
version: 1.3.8
resolution: "ini@npm:1.3.8"
checksum: 62189ce7ea44c5778e757e4232c581212e838f3c39e79d931bb9152fd4b9275f09fb20b96afdd60ba9f5d7996b92486cad6cc617fcb84ff4beedd1b33b86221e
@@ -9085,6 +9348,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"is-fullwidth-code-point@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-fullwidth-code-point@npm:1.0.0"
+ dependencies:
+ number-is-nan: ^1.0.0
+ checksum: fc3d51ef082eaf0c0d44e94b74cf43b97446e008b147b08186daea8bd5ff402596f04b5fe4fa4c0457470beab5c2de8339c49c96b5be65fe9fdf88f60a0001e8
+ languageName: node
+ linkType: hard
+
"is-fullwidth-code-point@npm:^2.0.0":
version: 2.0.0
resolution: "is-fullwidth-code-point@npm:2.0.0"
@@ -11399,6 +11671,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"mimic-response@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "mimic-response@npm:3.1.0"
+ checksum: cfbf19f66de6ad46df7481d9e8c1a7f30b6fa77dd771ad4a72a0443265041a39768182bde6d1de39001c2774168635bc74f42902e401c8ba33db55d69b773004
+ languageName: node
+ linkType: hard
+
"min-indent@npm:^1.0.0":
version: 1.0.1
resolution: "min-indent@npm:1.0.1"
@@ -11429,7 +11708,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"minimatch@npm:^3.0.4, minimatch@npm:^3.1.2":
+"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -11449,7 +11728,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"minimist@npm:^1.1.1, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6":
+"minimist@npm:^1.1.1, minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6":
version: 1.2.6
resolution: "minimist@npm:1.2.6"
checksum: 56b3aeedcc7776139f72ca9dce0dae06825437f71ebd823d97dc49a34f3280e627909d54aca6fa81c47e17f11e5affc7357bfb8fd8140ca6138e80f946dd0dbc
@@ -11588,6 +11867,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3":
+ version: 0.5.3
+ resolution: "mkdirp-classic@npm:0.5.3"
+ checksum: b3c46c62840bdc82c2a5bee417e4e7518a8109d32a85a6dc67bdcfecbe6aff5cfc73cdb98844a61178ddd8ac75743f977857f0badd6e12d14fd18cf1639e41a1
+ languageName: node
+ linkType: hard
+
"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1":
version: 0.5.6
resolution: "mkdirp@npm:0.5.6"
@@ -11704,6 +11990,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"napi-build-utils@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "napi-build-utils@npm:1.0.2"
+ checksum: e4dfbec94d315533fea33a96ef5fb4de0d9e8828f2bb2b30e38de089500dfe35fe058ea5bcd72e104381457263f854c3d52d4d8700df9e1f9e6b78e9500ba435
+ languageName: node
+ linkType: hard
+
"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
@@ -11741,6 +12034,24 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"node-abi@npm:^3.3.0":
+ version: 3.22.0
+ resolution: "node-abi@npm:3.22.0"
+ dependencies:
+ semver: ^7.3.5
+ checksum: fc1a69ad3085a631ad8ef1c5b1f9554353c40f2fc8f83720a2635e363be92ad4acf04c4961a02896bf2213eaac173a4b0361228de6e762ae42f2ada39c889032
+ languageName: node
+ linkType: hard
+
+"node-addon-api@npm:4.2.0":
+ version: 4.2.0
+ resolution: "node-addon-api@npm:4.2.0"
+ dependencies:
+ node-gyp: latest
+ checksum: e0911dd01efed65c0a70db660570225904bf24d77b17801be42ecea01c8aaa9423c511b78fd89ce84b09149a7a4ed115bf9a84ff9ee6b779a1f68eefeef3972c
+ languageName: node
+ linkType: hard
+
"node-addon-api@npm:^1.6.3":
version: 1.7.2
resolution: "node-addon-api@npm:1.7.2"
@@ -11750,7 +12061,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"node-fetch@npm:^2.6.1":
+"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
dependencies:
@@ -11829,7 +12140,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"node-machine-id@npm:^1.1.12":
+"node-machine-id@npm:^1.1.10, node-machine-id@npm:^1.1.12":
version: 1.1.12
resolution: "node-machine-id@npm:1.1.12"
checksum: 893cf7e3693fd693c3564a2dc1e32c5e43bb09e819365a3fbcbcc9fe1b694a2dd647da842483992653bd4afb7f797ef67c9e654665de5443143eed1db520b495
@@ -11950,6 +12261,18 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"npmlog@npm:^4.0.1":
+ version: 4.1.2
+ resolution: "npmlog@npm:4.1.2"
+ dependencies:
+ are-we-there-yet: ~1.1.2
+ console-control-strings: ~1.1.0
+ gauge: ~2.7.3
+ set-blocking: ~2.0.0
+ checksum: 0cd63f127c1bbda403a112e83b11804aaee2b58b0bc581c3bde9b82e4d957c7ed0ad3bee499af706cdd3599bb93669d7cbbf29fb500407d35fe75687ac96e2c0
+ languageName: node
+ linkType: hard
+
"npmlog@npm:^6.0.0":
version: 6.0.1
resolution: "npmlog@npm:6.0.1"
@@ -11980,6 +12303,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"number-is-nan@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "number-is-nan@npm:1.0.1"
+ checksum: 42251b2653a16f8b47639d93c3b646fff295a4582a6b3a2fc51a651d4511427c247629709063d19befbceb8a3db1a8e9f17016b3a207291e79e4bd1413032918
+ languageName: node
+ linkType: hard
+
"nwsapi@npm:^2.1.3, nwsapi@npm:^2.2.0":
version: 2.2.0
resolution: "nwsapi@npm:2.2.0"
@@ -11994,7 +12324,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1":
+"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
checksum: 66cf021898fc1b13ea573ea8635fbd5a76533f50cecbc2fcd5eee1e8029af41bcebe7023788b6d0e06cbe4401ecea075d972f78ec74467cdc571a0f1a4d1a081
@@ -12257,6 +12587,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"osu-lazer-db-reader@npm:0.1.6":
+ version: 0.1.6
+ resolution: "osu-lazer-db-reader@npm:0.1.6"
+ dependencies:
+ realm: ^10.17.0
+ checksum: 69303143eda7fb06c7b5cbc5d6ef9d29ba327663ce2dc45629e6ae02bf419192a03877a2e8ac0f31035de8662ff577051bded1213762393e580c3b4c3913bee9
+ languageName: node
+ linkType: hard
+
"p-cancelable@npm:^1.0.0":
version: 1.1.0
resolution: "p-cancelable@npm:1.1.0"
@@ -12715,6 +13054,29 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"prebuild-install@npm:^7.0.1":
+ version: 7.1.0
+ resolution: "prebuild-install@npm:7.1.0"
+ dependencies:
+ detect-libc: ^2.0.0
+ expand-template: ^2.0.3
+ github-from-package: 0.0.0
+ minimist: ^1.2.3
+ mkdirp-classic: ^0.5.3
+ napi-build-utils: ^1.0.1
+ node-abi: ^3.3.0
+ npmlog: ^4.0.1
+ pump: ^3.0.0
+ rc: ^1.2.7
+ simple-get: ^4.0.0
+ tar-fs: ^2.0.0
+ tunnel-agent: ^0.6.0
+ bin:
+ prebuild-install: bin.js
+ checksum: 6ac90302e771952f51614bab7be7234bfd7e38c00cef4561abbe5b3f498d0f76a2d0d3f758f5c7c6d4761b13ac9342d90e39f535b2cfc063f139ab5eddc89642
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -12815,6 +13177,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"promise@npm:^7.1.1":
+ version: 7.3.1
+ resolution: "promise@npm:7.3.1"
+ dependencies:
+ asap: ~2.0.3
+ checksum: 23267a4b078fcb02c57b06ca1a1d5739109deb0932c0fd79615a2c5636dd0571ac6a161f19c4ea9683a4ab89791da13112678fa410b65334de490e97c33410ae
+ languageName: node
+ linkType: hard
+
"prompts@npm:^2.0.1":
version: 2.4.2
resolution: "prompts@npm:2.4.2"
@@ -12825,7 +13196,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.8.1":
+"prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -12965,6 +13336,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"qs@npm:^6.1.0":
+ version: 6.10.3
+ resolution: "qs@npm:6.10.3"
+ dependencies:
+ side-channel: ^1.0.4
+ checksum: 8428e7246f1cb17b6c05ca9d394ca5149926613409dafab943c7de2393efe5564944d2c8af73508a6dd825b1f9efb036053bed0f73dade26e1d44cfb465ee768
+ languageName: node
+ linkType: hard
+
"qs@npm:~6.5.2":
version: 6.5.3
resolution: "qs@npm:6.5.3"
@@ -13038,7 +13418,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"rc@npm:^1.2.8":
+"rc@npm:^1.2.7, rc@npm:^1.2.8":
version: 1.2.8
resolution: "rc@npm:1.2.8"
dependencies:
@@ -13274,7 +13654,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6":
+"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6":
version: 2.3.7
resolution: "readable-stream@npm:2.3.7"
dependencies:
@@ -13289,7 +13669,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.6, readable-stream@npm:^3.6.0":
+"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0":
version: 3.6.0
resolution: "readable-stream@npm:3.6.0"
dependencies:
@@ -13320,6 +13700,51 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"realm-network-transport@npm:^0.7.2":
+ version: 0.7.2
+ resolution: "realm-network-transport@npm:0.7.2"
+ dependencies:
+ abort-controller: ^3.0.0
+ node-fetch: ^2.6.0
+ checksum: 982b1b5a3a038d99b97dd70c54404d893a652385cd73da9905b8b51a2e03afe70ed53ddaf89f4b2326ec1e949f5e758474730efe88066a0364de0e4608b50f52
+ languageName: node
+ linkType: hard
+
+"realm@npm:^10.17.0":
+ version: 10.17.0
+ resolution: "realm@npm:10.17.0"
+ dependencies:
+ "@realm.io/common": ^0.1.1
+ bindings: ^1.5.0
+ bson: 4.4.1
+ clang-format: ^1.6.0
+ command-line-args: ^5.1.1
+ deepmerge: 2.1.0
+ fs-extra: ^4.0.3
+ https-proxy-agent: ^2.2.4
+ ini: ^1.3.7
+ node-addon-api: 4.2.0
+ node-fetch: ^2.6.1
+ node-gyp: latest
+ node-machine-id: ^1.1.10
+ prebuild-install: ^7.0.1
+ progress: ^2.0.3
+ prop-types: ^15.6.2
+ realm-network-transport: ^0.7.2
+ request: ^2.88.0
+ stream-counter: ^1.0.0
+ sync-request: ^3.0.1
+ tar: ^6.0.1
+ url-parse: ^1.4.4
+ peerDependencies:
+ react-native: ">=0.60"
+ peerDependenciesMeta:
+ react-native:
+ optional: true
+ checksum: b02357598a730454edc479df1a06ed704e3ce94b65314abffcfa96df29b8d52419e3fa86b695523b5b92faa0c4c4088ca7f81176161bac6176a31f1da7bb1a04
+ languageName: node
+ linkType: hard
+
"realpath-native@npm:^1.1.0":
version: 1.1.0
resolution: "realpath-native@npm:1.1.0"
@@ -13654,7 +14079,7 @@ resolve@1.17.0:
languageName: node
linkType: hard
-"resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0":
+"resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0":
version: 1.22.0
resolution: "resolve@npm:1.22.0"
dependencies:
@@ -13686,7 +14111,7 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
-"resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.12.0#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.18.1#builtin, resolve@patch:resolve@^1.19.0#builtin, resolve@patch:resolve@^1.20.0#builtin":
+"resolve@patch:resolve@^1.1.6#builtin, resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.12.0#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.18.1#builtin, resolve@patch:resolve@^1.19.0#builtin, resolve@patch:resolve@^1.20.0#builtin":
version: 1.22.0
resolution: "resolve@patch:resolve@npm%3A1.22.0#builtin::version=1.22.0&hash=3388aa"
dependencies:
@@ -14104,7 +14529,7 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
-"set-blocking@npm:^2.0.0":
+"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0":
version: 2.0.0
resolution: "set-blocking@npm:2.0.0"
checksum: 0ac2403b0c2d39bf452f6d5d17dfd3cb952b9113098e1231cc0614c436e2f465637e39d27cf3b93556f5c59795e9790fd7e98da784c5f9919edeba4295ffeb29
@@ -14234,6 +14659,24 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"simple-concat@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "simple-concat@npm:1.0.1"
+ checksum: 4623960448a49731b5abeedc5430f8158c5caa05f10a685b405b13ed8532c80b5d99e6ef5d53f76a695e66f551cdbcca22c1363ceef8f8b246cda1e21b9ef871
+ languageName: node
+ linkType: hard
+
+"simple-get@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "simple-get@npm:4.0.1"
+ dependencies:
+ decompress-response: ^6.0.0
+ once: ^1.3.1
+ simple-concat: ^1.0.0
+ checksum: 8e7d8dd396915df8461d27ca3ecb8c0c3ddb6c48e14cc44cd6999374295ea125ad332f15b1cb5bd4b579df99685e749a27f4c72e9bd8fa81a46830172032e44b
+ languageName: node
+ linkType: hard
+
"sisteransi@npm:^1.0.5":
version: 1.0.5
resolution: "sisteransi@npm:1.0.5"
@@ -14651,6 +15094,13 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"stream-counter@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "stream-counter@npm:1.0.0"
+ checksum: fc5d2ad666d1c19866500ea0a49d22249882556ffec23f04350e87d2fea1bcb1e55cab70e447cb83c4ed3f41230be981aeb64c521235835be17fe45cee47fe7b
+ languageName: node
+ linkType: hard
+
"stream-each@npm:^1.1.0":
version: 1.2.3
resolution: "stream-each@npm:1.2.3"
@@ -14713,6 +15163,17 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"string-width@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "string-width@npm:1.0.2"
+ dependencies:
+ code-point-at: ^1.0.0
+ is-fullwidth-code-point: ^1.0.0
+ strip-ansi: ^3.0.0
+ checksum: b11745daa9398a1b3bb37ffa64263f9869c5f790901ed1242decb08171785346447112ead561cffde6b222a5ebeab9d2b382c72ae688859e852aa29325ca9d0b
+ languageName: node
+ linkType: hard
+
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
@@ -15006,6 +15467,17 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"sync-request@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "sync-request@npm:3.0.1"
+ dependencies:
+ concat-stream: ^1.4.7
+ http-response-object: ^1.0.1
+ then-request: ^2.0.1
+ checksum: 1d4c1bcd058018a5208ff9c8c13f7d46c1d6735c80b85e4fac8153264ff8758df1c5d941e46ee0cc071b4c00287fc5151f90f60b1e12f7a569ac575dde346169
+ languageName: node
+ linkType: hard
+
"table-parser@npm:^0.1.3":
version: 0.1.3
resolution: "table-parser@npm:0.1.3"
@@ -15035,7 +15507,32 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
-"tar@npm:^6.1.11, tar@npm:^6.1.2":
+"tar-fs@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "tar-fs@npm:2.1.1"
+ dependencies:
+ chownr: ^1.1.1
+ mkdirp-classic: ^0.5.2
+ pump: ^3.0.0
+ tar-stream: ^2.1.4
+ checksum: 4739382487b6ed646670a52cac637c818ecdceb728eb4718847dfdaddd7322d8cce2ea9db160ba8ad2920194034fda7c307b44f4eeb50d244f198bd7e28f2914
+ languageName: node
+ linkType: hard
+
+"tar-stream@npm:^2.1.4":
+ version: 2.2.0
+ resolution: "tar-stream@npm:2.2.0"
+ dependencies:
+ bl: ^4.0.3
+ end-of-stream: ^1.4.1
+ fs-constants: ^1.0.0
+ inherits: ^2.0.3
+ readable-stream: ^3.1.1
+ checksum: 7eec0a7fc8d0337729c1c2356d567a7527141d6ba0dd4804db979e17fc6389163e70fd4abdb855fc5ab54b944aeff7988e35e95ab6cee34a4156ca2d42980576
+ languageName: node
+ linkType: hard
+
+"tar@npm:^6.0.1, tar@npm:^6.1.11, tar@npm:^6.1.2":
version: 6.1.11
resolution: "tar@npm:6.1.11"
dependencies:
@@ -15200,6 +15697,20 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"then-request@npm:^2.0.1":
+ version: 2.2.0
+ resolution: "then-request@npm:2.2.0"
+ dependencies:
+ caseless: ~0.11.0
+ concat-stream: ^1.4.7
+ http-basic: ^2.5.1
+ http-response-object: ^1.1.0
+ promise: ^7.1.1
+ qs: ^6.1.0
+ checksum: 35a12253decf13fe6cd3752955c8a3f0eda1bb18bf53acdfbf4da4f5f74111d24736ddf91bd97803a6c239622d7c3e74ac40c178470ace2c2f2c7f1b84756ea6
+ languageName: node
+ linkType: hard
+
"throat@npm:^5.0.0":
version: 5.0.0
resolution: "throat@npm:5.0.0"
@@ -15611,6 +16122,13 @@ typescript@^3.5.3:
languageName: node
linkType: hard
+"typical@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "typical@npm:4.0.0"
+ checksum: 6b166af2fe0a11d84e114e6fb227f5f1b91e291506b86502af54e267d2ae74e5dc61c78c487af04d332affcc0626e52a6bf544fd7e45feceeaaf114b73617258
+ languageName: node
+ linkType: hard
+
"uglify-js@npm:3.4.x":
version: 3.4.10
resolution: "uglify-js@npm:3.4.10"
@@ -15864,7 +16382,7 @@ typescript@^3.5.3:
languageName: node
linkType: hard
-"url-parse@npm:^1.4.3, url-parse@npm:^1.5.10":
+"url-parse@npm:^1.4.3, url-parse@npm:^1.4.4, url-parse@npm:^1.5.10":
version: 1.5.10
resolution: "url-parse@npm:1.5.10"
dependencies:
@@ -16393,7 +16911,7 @@ typescript@^3.5.3:
languageName: node
linkType: hard
-"wide-align@npm:^1.1.5":
+"wide-align@npm:^1.1.0, wide-align@npm:^1.1.5":
version: 1.1.5
resolution: "wide-align@npm:1.1.5"
dependencies: