Skip to content

tickhq/clean-url

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 },
});
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. 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

Packages

 
 
 

Contributors