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

@kleeinteractive/ktt

v0.2.4

Published

KI Themer Tool - Static builder tool for theming

Downloads

758

Readme

KTT - KI Themer Tool

KTT is a static theming tool.

Its purpose is to build SASS, ~~LESS~~, ~~JS~~ or Tailwind from => to the specified locations with some recommanded best practices of linting/optimizations to do so.

Table of Contents


🚨 Before Starting

  1. Please note that the KTT includes the following packages so you do not need to download and configure them (nor their equivalents) for the assets in your KTT configuration :

    • stylelint (css/~~less~~/sass)
    • autoprefixer
    • clean-css
    • sourcemaps
    • ~~eslint~~
    • ~~esbuild~~
    • tailwindcss
  2. Unless you know what you're doing, we recommand you to put the KTT in the highest level folder of your application - generally one level before the app root itself.


🚀 Getting Started

Use the following command to add the KTT as a dependency of your project:

pnpm add -D @kleeinteractive/ktt

Create a default ktt-config.json file with configuration options below.

💻 Configuration

Example of a ktt-config.json

{
    "minify": { // OPTIONNAL - override global minify
        "dev": true, 
        "prod": false 
    },
    "sourcemap": { // OPTIONNAL - override global sourcemap
        "dev": false, 
        "prod": false 
    },
    "lint": { // OPTIONNAL - override lint for this entrypoint
        "dev": true, 
        "prod": false,
        "failOnError": true
    },
    "entrypoints": [ // Your entrypoints
        {
            "name": "example_module_1", // Custom entrypoint name
            "path": "./modules/custom/example_module", // Path to dir
            "compiler": "sass",
            "dir": {
                "src": "scss/", // Source folder
                "dest": "css/" // Destination folder
            },
            "files": ["example-module.scss"], // Source files to build
        },
        {
            "name": "example_theme_css",
            "path": "./themes/custom/example_theme",
            "compiler": "sass",
            "dir": {
                "src": "scss/",
                "dest": "css/"
            },
            "files": ["example-theme-fonts.scss", "example-theme.scss"],
            "minify": { // OPTIONNAL - override minify for this entrypoint
                "dev": true, 
                "prod": false 
            },
            "sourcemap": { // OPTIONNAL - override sourcemap for this entrypoint
                "dev": true, 
                "prod": false 
            },
            "lint": { // OPTIONNAL - override lint for this entrypoint
                "dev": true, 
                "prod": false,
                "failOnError": true
            },
        },
        {
            "name": "example_theme_tailwind",
            "path": "./themes/custom/example_theme",
            "compiler": "tailwind",
            "dir": {
                "src": "src/",
                "dest": "css/"
            },
            "files": ["my-tailwind-style.css"],
            "tailwind_config_path": "./example-theme-tailwind.config.js" // The relative path to the tailwind config file to use for this entrypoint, only works with tailwind as compiler
        },
    ]
}

Example of a example-theme-tailwind.config.js

📢 Please prefix all paths by "./"

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./themes/custom/**/*.twig",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

🌍 How to use

| Build modes

Available {build_mode} are :

  • dev
  • prod
  • watch (eq. dev with build on save)

| Commands

  • pnpm ktt {build_mode}: Build all entrypoints in the ktt-config.json with default options for dev. |

⚖️ License

MIT (LICENCE file in the package)