-
Notifications
You must be signed in to change notification settings - Fork 237
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[main] fix deprecated size pic, point to new url (#2329)
* change all size url * Create ai.3.2.0.js.svg * add script to generate image * remove image * Update package.json * create old size image pic * create folder also * remove logs * Update old-size-image-generator.js --------- Co-authored-by: Nev <54870357+MSNev@users.noreply.github.com>
- Loading branch information
1 parent
7bcd35c
commit 50d893a
Showing
7 changed files
with
239 additions
and
72 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
const fsPromise = require('fs').promises; | ||
const fs = require('fs'); | ||
const zlib = require('zlib'); | ||
|
||
async function generateSizeBadge(path, fileSize) { | ||
try { | ||
const sizeBadge = `https://img.shields.io/badge/size-${fileSize}kb-blue`; | ||
const res = await fetch(encodeURI(sizeBadge)); | ||
if (!res.ok) { | ||
throw new Error(`Failed to fetch ${sizeBadge}: ${res.status} ${res.statusText}`); | ||
} | ||
const buffer = await res.arrayBuffer(); | ||
await fsPromise.writeFile(`img/ai.${path}.svg`, Buffer.from(buffer)); | ||
} catch (err) { | ||
throw new Error(`Failed to generate size badge: ${err.message}`); | ||
} | ||
} | ||
|
||
async function downloadFile(version) { | ||
try { | ||
let url = "https://js.monitor.azure.com/scripts/b/ai." + version + ".js"; | ||
const res = await fetch(encodeURI(url)); | ||
if (!res.ok) { | ||
throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`); | ||
} | ||
const buffer = await res.arrayBuffer(); | ||
await fsPromise.writeFile(`./cdnFile/ai.${version}.js`, Buffer.from(buffer)); | ||
} catch (err) { | ||
throw new Error(`Failed to generate size badge: ${err.message}`); | ||
} | ||
} | ||
|
||
function createDirectory(dirName) { | ||
const dir = `./${dirName}`; | ||
if (!fs.existsSync(dir)){ | ||
fs.mkdirSync(dir); | ||
} | ||
} | ||
|
||
async function main() { | ||
createDirectory("cdnFile"); | ||
createDirectory("img"); | ||
const versions = ["3.1.2", "3.1.1", "3.1.0", "3.0.9", "3.0.8", "3.0.7", | ||
"3.0.6", "3.0.5", "3.0.4", "3.0.3", "3.0.2", "3.0.1", "3.0.0", "2.8.18", | ||
"2.8.17", "2.8.16", "2.8.15", "2.8.14", "2.8.13", "2.8.12", "2.8.11", | ||
"2.8.10", "2.8.9", "2.8.8", "2.8.7", "2.8.6", "2.8.5", "2.8.4", "2.8.3", | ||
"2.8.2", "2.8.1", "2.8.0", "2.7.4", "2.7.3", "2.7.2", "2.7.1", "2.7.0", | ||
"2.6.5", "2.6.4", "2.6.3", "2.6.2", "2.6.1", "2.6.0", "2.5.11", "2.5.10", | ||
"2.5.9", "2.5.8", "2.5.7", "2.5.6", "2.5.5", "2.5.4", "2.5.3", "2.5.2", | ||
"2.4.4", "2.4.3", "2.4.1", "2.3.1", "2.3.0", "2.2.2", "2.2.0", "2.1.0", | ||
"2.0.1", "2.0.0", "3", "3.gbl"]; | ||
|
||
for (let i = 0; i < versions.length; i++) { | ||
let version = versions[i]; | ||
await downloadFile(version); | ||
await downloadFile(version + ".min"); | ||
const filename = `./cdnFile/ai.${version}.js`; | ||
const minFileName = `./cdnFile/ai.${version}.min.js`; | ||
try { | ||
const fileSize = Math.ceil((await fsPromise.stat(filename)).size / 1024); | ||
const minFileSize = Math.ceil((await fsPromise.stat(minFileName)).size / 1024); | ||
const fileContent = await fsPromise.readFile(filename); | ||
const gzippedContent = zlib.gzipSync(fileContent); | ||
const gzippedSize = Math.ceil(gzippedContent.length / 1024); | ||
await generateSizeBadge(version + ".js", fileSize); | ||
await generateSizeBadge(version + ".min.js", minFileSize); | ||
await generateSizeBadge(version + ".min.js.gzip", gzippedSize); | ||
} catch (err) { | ||
console.error('Error:', err); | ||
} | ||
} | ||
} | ||
main(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{ | ||
"name": "applicationinsights-js-size-image-generator", | ||
"version": "3.1.3-dev", | ||
"author": "Javascript Telemetry SDKs <TelReachSDK@microsoft.com>", | ||
"description": "size image generator", | ||
"homepage": "https://github.com/microsoft/ApplicationInsights-JS", | ||
"sideEffects": false, | ||
"scripts": { | ||
"clean": "git clean -xdf", | ||
"update": "rush update", | ||
"build": "", | ||
"rebuild": "", | ||
"test": "", | ||
"issues": "node ./size-image-generator.js" | ||
}, | ||
"keywords": [ | ||
"1DS", | ||
"Js", | ||
"SDK" | ||
], | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/microsoft/ApplicationInsights-JS/tree/main/tools/status-tools" | ||
}, | ||
"devDependencies": { | ||
"globby": "^11.0.0", | ||
"grunt": "^1.5.3" | ||
}, | ||
"dependencies": { | ||
"node-fetch": "^3.3.2", | ||
"zlib": "^1.0.5" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
const fsPromise = require('fs').promises; | ||
const fs = require('fs'); | ||
const zlib = require('zlib'); | ||
async function getVersionFromPackageJson(packageJsonPath) { | ||
try { | ||
const data = await fsPromise.readFile(packageJsonPath, 'utf8'); | ||
const packageJson = JSON.parse(data); | ||
if (packageJson && packageJson.version) { | ||
return packageJson.version; | ||
} else { | ||
throw new Error('No version found in package.json'); | ||
} | ||
} catch (err) { | ||
throw new Error(`Failed to read package.json: ${err.message}`); | ||
} | ||
} | ||
|
||
async function generateSizeBadge(path, fileSize) { | ||
try { | ||
const sizeBadge = `https://img.shields.io/badge/size-${fileSize}kb-blue`; | ||
const res = await fetch(encodeURI(sizeBadge)); | ||
if (!res.ok) { | ||
throw new Error(`Failed to fetch ${sizeBadge}: ${res.status} ${res.statusText}`); | ||
} | ||
const buffer = await res.arrayBuffer(); | ||
await fsPromise.writeFile(`img/ai.${path}.svg`, Buffer.from(buffer)); | ||
} catch (err) { | ||
throw new Error(`Failed to generate size badge: ${err.message}`); | ||
} | ||
} | ||
function createDirectory(dirName) { | ||
const dir = `./${dirName}`; | ||
if (!fs.existsSync(dir)){ | ||
fs.mkdirSync(dir); | ||
} | ||
} | ||
async function main() { | ||
createDirectory("img"); | ||
const packageJsonPath = '../../AISKU/package.json'; | ||
try { | ||
const version = await getVersionFromPackageJson(packageJsonPath); | ||
const filename = `../../AISKU/browser/es5/ai.${version}.js`; | ||
const minFileName = `../../AISKU/browser/es5/ai.${version}.min.js`; | ||
|
||
const fileSize = Math.ceil((await fsPromise.stat(filename)).size / 1024); | ||
const minFileSize = Math.ceil((await fsPromise.stat(minFileName)).size / 1024); | ||
|
||
const fileContent = await fsPromise.readFile(filename); | ||
const gzippedContent = zlib.gzipSync(fileContent); | ||
const gzippedSize = Math.ceil(gzippedContent.length / 1024); | ||
|
||
await generateSizeBadge(version + ".js", fileSize); | ||
await generateSizeBadge(version + ".min.js", minFileSize); | ||
await generateSizeBadge(version + ".min.js.gzip", gzippedSize); | ||
|
||
} catch (err) { | ||
console.error('Error:', err); | ||
} | ||
} | ||
main(); |