Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@segment/snippet
Advanced tools
Render the analytics.js snippet.
The recommended way to use analytics.js is to follow the analytics.js quickstart guide. If you absolutely need to generate a snippet dynamically, this is an alternate solution. Note that when using this in-browser, the global analytics
object will not be defined until the snippet is rendered and executed.
For information on browser support, see: https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/supported-browsers/
# npm
npm install @segment/snippet
# yarn
yarn add @segment/snippet
# pnpm
pnpm add @segment/snippet
const snippet = require('@segment/snippet');
const contents = snippet.max({
host: 'cdn.segment.com',
apiKey: '03fwkuu3',
page: {
category: 'Docs',
name: 'Integrations',
properties: {
foo: 'bar'
}
}
});
Returns the maxified version of the analytics.js snippet given a set of options
:
host
: the domain name where the analytics.js script is hosted.useHostForBundles
: If set to true
, the snippet will include the _cdn
property to tell analytics.js where to fetch bundles from.apiKey
: the apiKey
to load in the snippet.page
: the options to pass to analytics.page
. if page
is false
, then the page()
call will be omitted.load
: If object, these are the settings passed as the second argument to analytics.load. This can be useful if you want to override Segment.io integration behavior, or if you want dynamically control which integraions load on the client-side for things like GDPR. If set to false
the load()
call will be omitted.ajsPath
: override the default analytics.min.js locationReturns the minified version of the snippet.
nvm use
yarn install
make lint
make test
SAUCE=true make test
npm
git checkout master && git pull --ff-only
npm version <patch|minor|major>
git push --follow-tags
make build
npm publish
Create a new github release.
Bump package version on segmentio/app.
Update all example snippets on public docs repo via search + replace
yarn fixture
and observing generated tmp.fixture.*.js
files.SNIPPET_VERSION
refers to the new npm version.FAQs
Templating methods for rendering the analytics.js snippet.
We found that @segment/snippet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 300 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.