
Research
/Security News
Weaponizing Discord for Command and Control Across npm, PyPI, and RubyGems.org
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
planisphere
Advanced tools
Generates sitemaps with associated metadata for each URL
Escapes problematic URLs and can append/remove trailing slashes
Automatically splits large sitemaps (with 50,000+ URLs) and generates the associated index
npm i planisphere
const { writeSitemaps } = require('planisphere');
writeSitemaps('dist', [
'/',
'/about',
{
loc: '/blog',
priority: 0.9,
changefreq: 'weekly',
},
], {
baseUrl: 'https://example.com',
trailingSlash: false,
pretty: true,
})
.then(() => console.info('sitemap successfully generated!'));
generateSitemaps(urls: Array<string | SitemapUrl>, options?): Array<string>
Returns an array of sitemaps contents.
Usually there will only be a single one, but if more than
50,000 URLs are provided, they will be split into several sitemaps
as requested by the protocol.
You should then pass the resulting array to generateSitemapsIndex()
.
urls
An array of strings and/or objects with the following properties:
loc: string
: the URL (required)
lastmod: Date | number | string
: a date string in the W3C format, a JavaScript timestamp string, a numeric timestamp or a Date object
changefreq: SitemapUrlChangefreq
: 'always'
, 'hourly'
, 'daily'
, 'weekly'
, 'monthly'
, 'yearly'
or 'never'
priority: number | string
: a multiple of 0.1
between 0.0
and 1.0
(defaults to 0.5
)
options
An object with the following properties (all optional):
defaults: { lastmod?, changefreq?, priority? }
: default values for the meta tags accompanying each URL
baseUrl: string
: a base URL to prepend every URL with
trailingSlash: boolean
: true
to append a trailing slash to every URL, false
to always remove it (if unspecified, will leave the URLs unchanged)
pretty: boolean
: true
to pretty-print the outputted XML to be human-readable
generateSitemapsIndex(files: Array<string>, options?, lastmod?): string?
Returns the contents of a sitemap index, or undefined
if there is one filename or less.
files
The filenames of the sitemap(s).
lastmod
The last modification date of the sitemaps (defaults to the current timestamp).
writeSitemaps(dest: string, urls: Array<string | SitemapUrl>, options?)
Generates and write the sitemap(s) to the disk. Returns a Promise<void>
.
dest
The path to the folder in which to write the generated file(s).
See the full changelog here.
Contributions are welcomed! Please open an issue before proposing any significant changes.
ISC
FAQs
A straightforward sitemap generator written in TypeScript.
We found that planisphere demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Security News
Socket now integrates with Bun 1.3’s Security Scanner API to block risky packages at install time and enforce your organization’s policies in local dev and CI.
Research
The Socket Threat Research Team is tracking weekly intrusions into the npm registry that follow a repeatable adversarial playbook used by North Korean state-sponsored actors.