mirror of
https://github.com/Mibew/simple-icons.git
synced 2024-11-17 19:04:13 +03:00
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
|
#!/usr/bin/env node
|
||
|
/**
|
||
|
* @fileoverview
|
||
|
* Updates the CDN URLs in the README.md to match the major version in the
|
||
|
* NPM package manifest. Does nothing if the README.md is already up-to-date.
|
||
|
*/
|
||
|
|
||
|
const fs = require("fs");
|
||
|
const path = require("path");
|
||
|
|
||
|
const rootDir = path.resolve(__dirname, "..");
|
||
|
const packageJsonFile = path.resolve(rootDir, "package.json");
|
||
|
const readmeFile = path.resolve(rootDir, "README.md");
|
||
|
|
||
|
function getMajorVersion(semVerVersion) {
|
||
|
const majorVersionAsString = semVerVersion.split('.')[0];
|
||
|
return parseInt(majorVersionAsString);
|
||
|
}
|
||
|
|
||
|
function getManifest() {
|
||
|
const manifestRaw = fs.readFileSync(packageJsonFile).toString();
|
||
|
return JSON.parse(manifestRaw);
|
||
|
}
|
||
|
|
||
|
function updateVersionInReadmeIfNecessary(majorVersion) {
|
||
|
let content = fs.readFileSync(readmeFile).toString();
|
||
|
|
||
|
content = content.replace(
|
||
|
/simple-icons@v[0-9]+/g,
|
||
|
`simple-icons@v${majorVersion}`,
|
||
|
);
|
||
|
|
||
|
fs.writeFileSync(readmeFile, content);
|
||
|
}
|
||
|
|
||
|
function main() {
|
||
|
try {
|
||
|
const manifest = getManifest();
|
||
|
const majorVersion = getMajorVersion(manifest.version);
|
||
|
updateVersionInReadmeIfNecessary(majorVersion);
|
||
|
} catch (error) {
|
||
|
console.error("Failed to update CDN version number:", error);
|
||
|
process.exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
main();
|