
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
@667/socialitejs
Advanced tools
Socialite is a quick and easy way to parse a url: string to determine:
user handle is.prefix is (if relevant).The minimum criteria for parsing a url is:
https://www.{{domain}}.com/pathhttps://www.domain{{.com}}/pathSimply install via the command-line or include in your package.json, just like any other dependency.
# Alternatively install with `yarn` or `pnpm`
npm install socialitejs
By default, Socialite includes only a small collection of the most common social networks. The exact networks included can be found in the defaultSocialiteNetworks array. A typical use case looks like:
import {Socialite} from 'socialitejs';
const socialiteInstance = new Socialite();
const mySocialUrl = 'https://www.twitter.com/@SomeFakeUserHandle';
const parsedSocialUrl = socialiteInstance.parseProfile(mySocialUrl);
console.log(parsedSocialUrl);
The above will log the following SocialiteProfile (object) to the console:
{
id: 'twitter',
prefix: '@',
user: 'SomeFakeUserHandle',
originalUrl: 'https://www.twitter.com/@SomeFakeUserHandle',
preferredUrl: 'https://twitter.com/@SomeFakeUserHandle',
appUrl: 'https://mobile.twitter.com/@SomeFakeUserHandle',
urlGroups: {
scheme: 'https://',
subdomain: 'www.',
domain: 'twitter',
tldomain: '.com',
path: '/@SomeFakeUserHandle',
// Other url parts are omitted if `undefined`
},
}
For a more robust collection of social networks, you can import the socialiteNetworks object and use it (at least) one of two ways:
import {Socialite, socialiteNetworks, type SocialiteId} from 'socialitejs';
// Adding all social networks in bulk:
const allNetworksInstance = new Socialite(Object.values(socialiteNetworks));
// Logs to the console all social networks included in the code base.
console.log(allNetworksInstance.getAllNetworks());
// Initializing `Socialite` without any networks (pass empty `array`):
const selectiveNetworksInstance = new Socialite([]);
const excludedNetworks: SocialiteId[] = ['discord', 'facebook', 'reddit'];
Object.keys(socialiteNetworks).forEach((network) => {
if (!excludedNetworks.includes(network.id)) {
selectiveNetworksInstance.addNetwork(network);
}
});
// Logs to the console all social networks not found in `excludedNetworks`.
console.log(selectiveNetworksInstance.getAllNetworks());
...this section is incomplete... check back later for API documentation.
FAQs
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.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.