Skip to content

This library strips unwanted tracking and clutter from URLs, making them simpler, tidier, and easier to read.

Notifications You must be signed in to change notification settings

tickhq/clean-url

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@tickhq/clean-url

This library strips unwanted tracking and clutter from URLs, making them simpler, tidier, and easier to read.

Install

pnpm add @tickhq/clean-url

Usage

import { clean, validateURL, Cleaner } from "@tickhq/clean-url";

// One-off clean (uses default rules)
const result = clean(
	"https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih?si=-k8RwDQwTCK923jxZuy07w&utm_source=copy-link",
);
console.log(result.url);
// https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih

// Validate a URL
validateURL("https://example.com"); // true
validateURL("not a url"); // false

// Custom config
const cleaner = new Cleaner({
	config: { allowAMP: false, allowRedirects: true, silent: true },
});
const { url, info } = cleaner.clean("https://...");
console.log(info.removed); // params that were stripped

Options

  • Cleaner(options?)options.rules, options.handlers, options.config (partial) to override defaults.
  • cleaner.configallowAMP, allowCustomHandlers, allowRedirects, silent. Use config.setMany({ ... }) to set multiple.

Build & test

pnpm run build
pnpm test   # run after build

About

This library strips unwanted tracking and clutter from URLs, making them simpler, tidier, and easier to read.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published