Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion i18n/english.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,10 @@ const ui = {
lastReleaseVersion: "Last release version",
lastReleaseDate: "Last release date",
publishedReleases: "Number of published releases",
numberPublishers: "Number of publisher(s)"
numberPublishers: "Number of publisher(s)",
weeklyDownloads: "Weekly downloads",
weeklyTraffic: "Weekly traffic",
downloadsAndTraffic: "Downloads and traffic"
},
helpers: {
warnings: "Learn more about warnings in the",
Expand Down
5 changes: 4 additions & 1 deletion i18n/french.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,10 @@ const ui = {
lastReleaseVersion: "Dernière version publiée",
lastReleaseDate: "Date de la dernière version",
publishedReleases: "Nombre de versions publiées",
numberPublishers: "Nombre de contributeur(s)"
numberPublishers: "Nombre de contributeur(s)",
weeklyDownloads: "Téléchargements hebdomadaires",
weeklyTraffic: "Trafic hebdomadaire",
downloadsAndTraffic: "Téléchargements et trafic"
},
helpers: {
warnings: "En savoir plus sur les alertes avec le",
Expand Down
1 change: 1 addition & 0 deletions public/components/bundlephobia/bundlephobia.css
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,5 @@ section#package-info div.bundlephobia>div>b i {
section#package-info div.bundlephobia>div>span {
font-size: 12px;
font-family: 'mononoki';
text-transform: uppercase;
}
2 changes: 2 additions & 0 deletions public/components/package/package.css
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ section#package-info .head-title>p {
text-shadow: 1px 1px 5px rgba(20, 20, 20, 0.5);
font-size: 18px;
font-variant: small-caps;
/* lowercase is needed with small-caps font variant */
text-transform: lowercase;
font-family: "mononoki";
font-weight: bold;
letter-spacing: 1px;
Expand Down
14 changes: 14 additions & 0 deletions public/components/package/package.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,20 @@
<!-- package metadata -->
<ul class="fields" style="margin-top: 0px !important;"></ul>

<div class="head-title">
<p>[[=z.token('package_info.overview.downloadsAndTraffic')]]</p>
</div>
<div id="npm-stats" class="bundlephobia" style="margin-bottom: 10px;">
<div>
<b class="weekly-downloads">N/A</b>
<span>[[=z.token('package_info.overview.weeklyDownloads')]]</span>
</div>
<div>
<b class="weekly-traffic">N/A</b>
<span>[[=z.token('package_info.overview.weeklyTraffic')]]</span>
</div>
</div>

<div class="head-title">
<p>[[=z.token('package_info.title.releases')]]</p>
</div>
Expand Down
12 changes: 12 additions & 0 deletions public/components/package/pannels/overview/overview.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export class Overview {

clone.querySelector(".fields")
.appendChild(this.renderTopFields());
this.renderNPMStats();
clone.querySelector(".fields.releases")
.appendChild(this.renderReleases());

Expand Down Expand Up @@ -156,6 +157,17 @@ export class Overview {
return fragment;
}

async renderNPMStats() {
const { size, name } = this.package.dependencyVersion;
const {
downloads
} = await fetch(`/downloads/${name.replaceAll("/", "%2F")}`)
.then((value) => value.json());

document.querySelector("#npm-stats .weekly-downloads").textContent = downloads ?? "N/A";
document.querySelector("#npm-stats .weekly-traffic").textContent = downloads ? prettyBytes(downloads * size) : "N/A";
}

renderReleases() {
const { metadata } = this.package.dependency;
const fragment = document.createDocumentFragment();
Expand Down