1+ import fsOld from "node:fs" ;
2+ import path from "node:path" ;
3+ import fs from "node:fs/promises" ;
4+ const rootVersions = path . join ( process . cwd ( ) , "versions" ) ;
5+ const Bedrock = path . join ( rootVersions , "bedrock" ) ;
6+ const Pocketmine = path . join ( rootVersions , "pocketmine" ) ;
7+ const Powernukkit = path . join ( rootVersions , "powernukkit" ) ;
8+ const Java = path . join ( rootVersions , "java" ) ;
9+ const Spigot = path . join ( rootVersions , "spigot" ) ;
10+ const Paper = path . join ( rootVersions , "paper" ) ;
11+ if ( ! fsOld . existsSync ( rootVersions ) ) await fs . mkdir ( rootVersions , { recursive : true } ) ;
12+ if ( ! fsOld . existsSync ( Bedrock ) ) await fs . mkdir ( Bedrock , { recursive : true } ) ;
13+ if ( ! fsOld . existsSync ( Pocketmine ) ) await fs . mkdir ( Pocketmine , { recursive : true } ) ;
14+ if ( ! fsOld . existsSync ( Powernukkit ) ) await fs . mkdir ( Powernukkit , { recursive : true } ) ;
15+ if ( ! fsOld . existsSync ( Java ) ) await fs . mkdir ( Java , { recursive : true } ) ;
16+ if ( ! fsOld . existsSync ( Spigot ) ) await fs . mkdir ( Spigot , { recursive : true } ) ;
17+ if ( ! fsOld . existsSync ( Paper ) ) await fs . mkdir ( Paper , { recursive : true } ) ;
18+
19+ const bedrockData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/bedrock" ) ) . json ( ) ;
20+ fs . writeFile ( path . join ( Bedrock , "latest.json" ) , JSON . stringify ( bedrockData . find ( release => release . latest ) , null , 2 ) ) ;
21+ await Promise . all ( bedrockData . map ( releases => {
22+ const version = path . join ( Bedrock , `${ releases . version } .json` ) ;
23+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
24+ } ) ) ;
25+
26+ const PocketmineData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/Pocketmine" ) ) . json ( ) ;
27+ fs . writeFile ( path . join ( Pocketmine , "latest.json" ) , JSON . stringify ( PocketmineData . find ( release => release . latest ) , null , 2 ) ) ;
28+ await Promise . all ( PocketmineData . map ( releases => {
29+ const version = path . join ( Pocketmine , `${ releases . version } .json` ) ;
30+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
31+ } ) ) ;
32+
33+ const PowernukkitData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/Powernukkit" ) ) . json ( ) ;
34+ fs . writeFile ( path . join ( Powernukkit , "latest.json" ) , JSON . stringify ( PowernukkitData . find ( release => release . latest ) , null , 2 ) ) ;
35+ await Promise . all ( PowernukkitData . map ( releases => {
36+ const version = path . join ( Powernukkit , `${ releases . version } .json` ) ;
37+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
38+ } ) ) ;
39+
40+ const JavaData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/Java" ) ) . json ( ) ;
41+ fs . writeFile ( path . join ( Java , "latest.json" ) , JSON . stringify ( JavaData . find ( release => release . latest ) , null , 2 ) ) ;
42+ await Promise . all ( JavaData . map ( releases => {
43+ const version = path . join ( Java , `${ releases . version } .json` ) ;
44+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
45+ } ) ) ;
46+
47+ const SpigotData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/Spigot" ) ) . json ( ) ;
48+ fs . writeFile ( path . join ( Spigot , "latest.json" ) , JSON . stringify ( SpigotData . find ( release => release . latest ) , null , 2 ) ) ;
49+ await Promise . all ( SpigotData . map ( releases => {
50+ const version = path . join ( Spigot , `${ releases . version } .json` ) ;
51+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
52+ } ) ) ;
53+
54+ const PaperData = await ( await fetch ( "https://mcpeversions.sirherobrine23.org/Paper" ) ) . json ( ) ;
55+ fs . writeFile ( path . join ( Paper , "latest.json" ) , JSON . stringify ( PaperData . find ( release => release . latest ) , null , 2 ) ) ;
56+ await Promise . all ( PaperData . map ( releases => {
57+ const version = path . join ( Paper , `${ releases . version } _${ releases . build } .json` ) ;
58+ return fs . writeFile ( version , JSON . stringify ( releases , null , 2 ) ) ;
59+ } ) ) ;
0 commit comments