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

muleify

v5.5.2

Published

A zero configuration static site generator and asset preprocessor compiler.

Downloads

881

Readme

Total alerts Language grade: JavaScript

Muleify

Static Site Generator | Website Bundler | Asset Compiler | Templating | Preprocessor

Overview

Muleify is the one stop shop for your web front end needs, it is a command line tool that handles all your website development needs. Muleify has a unique no configuration required interface. It automatically handles many tasks such as compiling Sass, Scss, Less, Css, ES6 to ES5, bundling, and minifying. Muleify uses extensions and sub-extensions to automatically handle these tasks. With almost almost zero configuration or changes to existing projects you can get started. If there is a feature you want let me know or make a PR.

Features

Another static site and asset generator you might say.

  • zero configuration
  • quick and easy
  • no learning curve
  • based on extensions and sub-extensions
  • single page applications support (spa's)
  • imports, includes, partials, templates, and layouts
  • preprocessor types JavaScript, CSS, SCSS, SASS, LESS, HTML, MD

Install

npm i -g muleify

Changes

  • 3.x.x uses async/awiat so node version >=7.6.0
  • 2.7.0 removes default sass/scss support. After install if you want to use sass run muleify install-node-sass.

CLI

  • muleify -p [options] <input> <output> Packs a folder or file

    • input path to folder or file
    • output path to folder or file
    • -b, --bundle Bundles the output
    • -m, --minify Minifies the output
    • -t, --transpile Transpile the output
    • -w, --watch Watches a file or folder
    • -p, --path <path> Defines the path to watch
    • -s, --serve Serves a folder or file
  • muleify -s [options] <input> [output] Serves a folder or file

    • input path to folder
    • output path to folder (optional)
    • -s, --spa Enables single page application mode
    • -c, --cors Enables cross origin resource sharing mode
  • muleify -m [options] <input> <output> Creates XML sitemap

    • input path to a folder to generate the sitemap
    • output path to a folder to output sitemap.xml
    • -d, --domain <domain> Inserts domain into sitemap
  • muleify -e [options] <input> <output> Creates folders and files from a json file

    • input path to a JSON file
    • output path to a folder
  • muleify -i Installs sass/scss compiler (might require sudo)

Extensions

Muleify uses extensions and sub-extensions to process specail file types. Sub-extensions are period separated names. They can be combined in any order or combination. The generated file will not contain the sub-extensions. For example a file in the src folder could be named file.b.e.js and the dist folder it would be named file.js.

Options

ALL

  • i - ignore

HTML

  • l - layout wraps all view files
  • v - view inserted into layout
  • p - partial allows file to be imported
  • m - minify minify code (under development)

MD

JS

  • b - bundle modules ESM to UMD
  • t - transpile
  • m - minify minify code
    • @preserve will persist comments.
    • @banner will place comment at document start.

CSS

SCSS

  • m - minify minify code

LESS

  • m - minify minify code

Includes/Imports/Partials/Layouts

The path includes/imports/partials/layouts are relative from the input folder.

Options

HTML

Note partial relative path from file

  • layout a placeholder: <!-- { "layout": "*" } -->
  • import a partial: <!-- { "partial": "./header.p.html" } -->
  • define a variable: <!-- { "title": "I Am Title" } -->
  • import a variable: <!-- { "variable": "title" } -->

MD

Converts to HTML.

JS

Supports ESM import relative path from file and also the node resolution algorithm. For node resolution it will search the node_modules package.js files for "module": "file" or main: "file".

CSS

Note @import relative path from file

SCSS

Sass automatically bundles imports. Note @import relative path from file

LESS

Less automatically bundles imports. Note @import relative path from file

Authors

Alexander Elias

License

Why You Should Choose MPL-2.0 This project is licensed under the MPL-2.0 License