greasetools

Functions and other tools for GreaseMonkey UserScript development.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/440463/1021292/greasetools.js

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
MysteryBlokHed
Version
0.5.0
Created
2022-02-22
Updated
2022-02-22
Size
17.1 KB
License
MIT OR Apache-2.0

GreaseTools ![Build Badge] ![NPM Badge] ![License Badge]

Functions and other tools for GreaseMonkey UserScript development.

Documentation

Documentation for the main branch is hosted at https://greasetools.adamts.me. Documentation can be built from a cloned repository by running yarn doc.

Use

Most functions will require some @grant's to work properly, but can fall back to other things like the browser's localStorage if grants aren't found. Information for each function can be found in its docs.

In a Node project

To use in a Node project, add GreaseTools as a dependency.

# npm
npm install greasetools

# yarn
yarn add greasetools

You can then import and use GreaseTools functions:

import { valuesProxy, getValues } from 'greasetools'

const values = valuesProxy(
  await getValues({
    hello: 'World!',
  }),
)

In a normal UserScript

In a UserScript that isn't built with Node.js, you can @require the library:

// @require     https://gitlab.com/MysteryBlokHed/greasetools/-/raw/main/greasetools.user.js

You can replace main with a specific release tag like v0.1.0 to require a specific version:

// @require     https://gitlab.com/MysteryBlokHed/greasetools/-/raw/v0.1.0/greasetools.user.js

Functions are available on the global GreaseTools object:

const { valuesProxy, getValues } = GreaseTools

const values = valuesProxy(
  await getValues({
    hello: 'World!',
  }),
)

Type declarations

The types included with the npm package still work when the library is @require'd. Just add the types as a dev dependency for a Node project or install it globally. With the package installed, include the following reference line somewhere in your TypeScript source file:

/// <reference types="greasetools" />

License

GreaseTools is licensed under either of

at your option.

[build badge]: https://img.shields.io/gitlab/pipeline-status/MysteryBlokHed/greasetools [npm badge]: https://img.shields.io/npm/v/greasetools [license badge]: https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-green