npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

theme-scss

v1.1.4

Published

A development CLI for theme developers on Discord. Inspired by [`bd-scss`](https://github.com/Gibbu/bd-scss) -- rewritten to allow for more flexibility and expandability with client mods such as BetterDiscord, Vencord, and (not really a "client mod") Styl

Downloads

81

Readme

Theme SCSS

A development CLI for theme developers on Discord. Inspired by bd-scss -- rewritten to allow for more flexibility and expandability with client mods such as BetterDiscord, Vencord, and (not really a "client mod") Stylus.

It should be noted this was specifically written for my own use-cases, but it should be (hopefully) customizable to your own.

Usage

Installation

  • npm npm i -D theme-scss
  • pnpm pnpm i -D theme-scss
  • yarn yarn add theme-scss -D

Configuration

For configuration, create a theme-config.json file in the root of your repository. If you want to have a custom file location, create it in whichever folder and run theme-scss -C location/to/file.json. |Value|Required|Purpose| |--|--|--| |name|✅|The name of your theme.| |author|✅|The author of your theme.| |version|✅|The version of your theme.| |description|✅|The description of your theme.| |import|✅|The import for your theme.| |metas|❌|The locations for your meta files.| |dist|❌|How the build theme should be distributed.| |dev|❌|Development enviroment.|

name, author, version, description are all required values in the theme config, unless you have a package.json file it can reference these values from. If provided in your theme config, it will default those values instead of the package.json file values. If it cannot find these values, it will error.

Example
{
    "name": "Theme Config Testing",
    "metas": "source/meta",
    "dist": {
        "clients": {
            "compileFor": ["betterdiscord", "userstyle"]
        }
    },
    "dev": {
        "mod": "betterdiscord"
    }
}

metas

If you have custom locations for all your meta .json files, you can specify them for each one specifically. |Value|Required|Purpose|Default| |--|--|--|--| |betterdiscord|❌|The name of your theme.|"metas/betterdiscord.json"| |userstyle|❌|The author of your theme.|"metas/userstyle.json"|

You must provide the file extension in the path. All paths are relative to the root.

dist

|Value|Required|Purpose|Default| |--|--|--|--| |target|❌|The file you want to target as your source file.|"src/source.scss"| |output|❌|Where you want your compiled source file to output.|"src/source.css"| |clients|❌|Where your client files should output (if applicable).|none|

clients

|Value|Required|Purpose|Default| |--|--|--|--| |output|❌|The folder you want your client files in.|"clients"| |compileFor|❌|These are the mods it will be built for. Even if you have a meta file, you must provide this field. At the moment, this only supports "betterdiscord" and "userstyle"|none|

Example
{
    "dist": {
        "target": "source/source.scss",
        "output": "dist/source.css",
        "clients": {
            "compileFor": ["betterdiscord", "userstyle"]
        }
    }
}

dev

|Value|Required|Purpose|Default| |--|--|--|--| |mod|❌|The client mod you're developing for.|undefined -- Provide a path if you're compiling for a different mod.| |target|❌|The file you want to target as your source file.|"src/source.scss"| |output|❌|Where your dev theme file should output.|Based on mod & os.|

If mod is not provided, you will have to provide a custom path for output. Note that if you're working on a different mod that is not supported and it requires a meta file, you will have to figure out how to provide that meta yourself.

Client Metas

Note that name, author, version, description are not required in the meta files since they're references from theme-config.json or your package.json file.

BetterDiscord Meta

The betterdiscord meta file must be named betterdiscord.json inside of the meta path you provided (default meta/*). You can find all acceptable meta tags for BetterDiscord in their documentations page.

Example
{
    "invite": "vYdXbEzqDs",
    "authorId": "399416615742996480",
    "source": "https://github.com/LuckFire/amoled-cord",
    "updateUrl": "https://github.com/LuckFire/amoled-cord/blob/main/clients/amoled-cord.theme.css"
}

Userstyle Meta

The userstyle meta file must be named userstyle.json inside of the meta path you provided (default meta/*). You can find all acceptable meta tags for Stylus in their wiki documentation page.

Example
{
    "namespace": "https://github.com/discord-extensions/amoled-cord",
    "license": "MIT"
}