Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fca8e679c5 | |||
| 9de4542b56 | |||
| 567c888c08 | |||
| 0d8308e06a | |||
| 1fcc4d46da | |||
| f60aeceb5f | 
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "artix-mlg", | ||||
|   "version": "0.2.4", | ||||
|   "version": "0.2.6", | ||||
|   "lockfileVersion": 3, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "artix-mlg", | ||||
|       "version": "0.2.4", | ||||
|       "version": "0.2.6", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "country-code-lookup": "0.1.3", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "artix-mlg", | ||||
|   "version": "0.2.4", | ||||
|   "version": "0.2.6", | ||||
|   "description": "mirrorlist generator for Artix Linux", | ||||
|   "keywords": [ | ||||
|     "artix", | ||||
|   | ||||
							
								
								
									
										25
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								src/index.ts
									
									
									
									
									
								
							| @@ -118,9 +118,9 @@ function getMirror(name: string): Mirror { | ||||
|  | ||||
| function updateMirror(m: Mirror, profile: MirrorProfile, url: UrlComponents) { | ||||
|     m.fields.tier = Math.max(m.fields.tier, profile.tier); | ||||
|     m.fields.admin_email ||= profile.admin_email || ''; | ||||
|     m.fields.alternate_email ||= profile.alternate_email || ''; | ||||
|     m.fields.notes ||= profile.notes || ''; | ||||
|     m.fields.admin_email = profile.admin_email || m.fields.admin_email; | ||||
|     m.fields.alternate_email = profile.alternate_email || m.fields.alternate_email; | ||||
|     m.fields.notes = profile.notes || m.fields.notes; | ||||
|     m.fields.active ||= profile.active; | ||||
|     m.fields.public &&= profile.public; | ||||
|     m.fields.isos ||= !!profile.stable_isos || !!profile.weekly_isos; | ||||
| @@ -135,13 +135,13 @@ function processMirrorProfile(m: MirrorProfile) { | ||||
|     const mirror: Mirror = getMirror(m.force_mirror_name || url.name); | ||||
|         updateMirror(mirror, m, url); | ||||
|         const mirrorUrl: MirrorUrl = { | ||||
|             pk: mirrorUrlCounter++, | ||||
|             pk: ++mirrorUrlCounter, | ||||
|             model: 'mirrors.MirrorUrl', | ||||
|             fields: { | ||||
|                 url: url.partial, | ||||
|                 protocol: protocolId[url.protocol], | ||||
|                 mirror: mirror.pk, | ||||
|                 country: resolveCountry(m.country)?.iso2 || null, | ||||
|                 country: resolveCountry(m.country)?.iso2 || undefined, | ||||
|                 // populate ip fields with `mirrorresolv` | ||||
|                 has_ipv4: false, | ||||
|                 has_ipv6: false, | ||||
| @@ -160,7 +160,7 @@ function pushMirrorProfile(name: string, m: MirrorProfile) { | ||||
| function updateUpstream(m: MirrorProfile) { | ||||
|     const url: UrlComponents = processUrl(m.url); | ||||
|     const mirror: Mirror = mirrors[m.force_mirror_name || url.name]; | ||||
|     mirror.fields.upstream ||= m.upstream && mirrors[m.upstream]?.pk; | ||||
|     mirror.fields.upstream = (m.upstream && mirrors[m.upstream]?.pk) || mirror.fields.upstream; | ||||
| } | ||||
|  | ||||
| function composeMirrorFixture(): FixtureObject[] { | ||||
| @@ -214,13 +214,16 @@ function generateMirrorMd(): string { | ||||
|     for (let mirrorName in mirrorProfilesByMirrorName) { | ||||
|         const profiles: MirrorProfile[] = mirrorProfilesByMirrorName[mirrorName]; | ||||
|         const activeProfiles: MirrorProfile[] = profiles.filter(p => p.active); | ||||
|         const urls: string[] = activeProfiles.map(p => p.url).map(u => u.split('$repo')[0]); | ||||
|         const urls: string[] = profiles.map(p => { | ||||
|             const url = p.url.split('$repo')[0]; | ||||
|             return p.active ? url: `${url} (inactive)`; | ||||
|         }); | ||||
|         const upstream = findFirstWithChild(activeProfiles, 'upstream'); | ||||
|         lines.push(`### ${mirrorName}`); | ||||
|         lines.push(`| Mirror | ${mirrorName} |`); | ||||
|         lines.push('| ------ | ------------- |'); | ||||
|         if (upstream) { | ||||
|             lines.push(`| Sync Source | [${upstream}](#${upstream}) |`); | ||||
|             lines.push(`| Sync Source | [${upstream}](#${upstream.replaceAll('.', '')}) |`); | ||||
|         } | ||||
|         lines.push(`| URLs | ${urls.join('<br>')} |`); | ||||
|         pushTableRowIfTruthy(lines, 'Provides Stable ISO', findFirstWithChild(activeProfiles, 'stable_isos')); | ||||
| @@ -228,9 +231,9 @@ function generateMirrorMd(): string { | ||||
|         // pushTableRowIfTruthy(lines, 'Bandwidth', findFirstWithChild(activeProfiles, 'bandwidth')); | ||||
|         // pushTableRowIfTruthy(lines, 'Frequency', findFirstWithChild(activeProfiles, 'frequency')); | ||||
|         // pushTableRowIfTruthy(lines, 'Hosted by', findFirstWithChild(activeProfiles, 'org')); | ||||
|         pushTableRowIfTruthy(lines, 'Location', findFirstWithChild(activeProfiles, 'country')); | ||||
|         pushTableRowIfTruthy(lines, 'Contact Details', findFirstWithChild(activeProfiles, 'admin_email')); | ||||
|         pushTableRowIfTruthy(lines, 'Altenate Contact Details', findFirstWithChild(activeProfiles, 'alternate_email')); | ||||
|         pushTableRowIfTruthy(lines, 'Location', findFirstWithChild(activeProfiles, 'country') || findFirstWithChild(profiles, 'country')); | ||||
|         pushTableRowIfTruthy(lines, 'Contact Details', findFirstWithChild(activeProfiles, 'admin_email') || findFirstWithChild(profiles, 'admin_email')); | ||||
|         pushTableRowIfTruthy(lines, 'Altenate Contact Details', findFirstWithChild(activeProfiles, 'alternate_email') || findFirstWithChild(profiles, 'alternate_email')); | ||||
|         lines.push(''); | ||||
|     } | ||||
|     return lines.join('\n'); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user