greasetools
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i greasetools

Weekly Downloads

0

Version

0.5.0

License

MIT OR Apache-2.0

Unpacked Size

41.1 kB

Total Files

13

Last publish

Collaborators

  • mysteryblokhed