
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
@barnebys/analytics-node
Advanced tools
This is an helper for Node to build tracking URL for [Barnebys Analytics](https://github.com/barnebys/analytics) with ease.
This is an helper for Node to build tracking URL for Barnebys Analytics with ease.
yarn install @barnebys/analytics-node
// Create the URL Builder with your tracking domain & secret
const { UrlBuilder } = require("@barnebys/analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");
urlBuilder.programId = "123";
urlBuilder.kind = "click";
urlBuilder.url = "http://www.barnebys.com/";
urlBuilder.dimension1 = "a";
urlBuilder.dimension2 = "b";
urlBuilder.dimension3 = "c";
urlBuilder.isSponsored = <boolean>;
urlBuilder.dealType = <string>;
urlBuilder.source = <string>; // e.g. "searchalert", "widget", "facebook", "google"
urlBuilder.medium = <string>; // e.g. "paid_social", "email" To be discussed, just a suggestion and not used yet
urlBuilder.fpVerified = <boolean>; // Indicates if the fingerprint has been verified
// Get the signed tracking URL
const url = urlBuilder.createURL()
const { UrlBuilder } = require("@barnebys/analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");
...
urlBuilder.affiliate = true;
...
Generate the URL from PHP and use a lazy loader that loads the tracking pixel when visible in the browser window. If you do not have a compatible lazy loader we recommend using this lazy loader which is written in vanilla js.
For most compatibility - place the script below before your </body>
tag.
<script type="text/javascript">
(function(w, d){
var b = d.getElementsByTagName('body')[0];
var s = d.createElement("script"); s.async = true;
var v = !("IntersectionObserver" in w) ? "8.5.2" : "10.3.5";
s.src = "https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/" + v + "/lazyload.min.js";
w.lazyLoadOptions = {
threshold: 0
};
b.appendChild(s);
}(window, document));
</script>
// Create the URL Builder with your tracking domain & secret
const { UrlBuilder } = require("analytics-node");
const urlBuilder = new UrlBuilder("analytics.mydomain.sh", "secret");
// Create the impression passing on UrlBuilder, program id and optional dimensions 1-3
const impression = new Impression(
urlBuilder,
"123",
"a",
"b",
"c",
"d",
"e"
);
// Get the URL for the tracking pixel
const url = impression.url
// Or output image tag for lazy load
const tag = impression.image
FAQs
This is an helper for Node to build tracking URL for [Barnebys Analytics](https://github.com/barnebys/analytics) with ease.
The npm package @barnebys/analytics-node receives a total of 22 weekly downloads. As such, @barnebys/analytics-node popularity was classified as not popular.
We found that @barnebys/analytics-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.