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

generator-bengal

v1.0.0-7

Published

A scaffolding generator for front-end projects.

Downloads

17

Readme

Bengal

A scaffolding generator for front-end projects.

Bengal is opinionated, which might not be for everyone, but it will be a helpful tool if your project has the following assumptions.

Assumptions

Common to all flows

  • Project contents are inside a src folder, which are built into a build folder, and distributed to a dist folder;
  • Views:
    • Views are inside a views folder;
    • Rendered using Pug or PHP;
      • If using PHP, development server is composed with Docker, using Nginx as webserver;
  • Styles:
    • Styles are inside a styles folder;
    • Preprocessed with Sass (Optional);
      • If using Sass, all styles are organized using the 7-1 Pattern;
    • Vendor prefixes are managed by Autoprefixer;
    • Compressed when distributed;
  • SVG Symbols (Optional):
    • Symbols are inside a symbols folder;
    • All symbols in the same direct folder are concatenated into a single file and named after that folder;
  • Images (Optional):
    • Images are inside an images folder;
    • All PNG, JPEG, GIF, and SVG images are optimized;
  • Fonts (Optional):
    • Fonts are inside an fonts folder;
  • Scripts (Optional):
    • Scripts are inside a scripts folder;
    • ECMAScript 2015+ is converted using Babel (Optional);
    • Linted using XO (Optional);
    • Uglified when distributed;
  • All assets are built into a common assets folder and organized by type using subfolders (styles, images, scripts...);
  • Uses Gulp to manage tasks;
  • Uses BrowserSync to live reload;
  • Uses Git and follow GitHub standards (contribution files...);
  • Uses EditorConfig;
    • 2 spaces for indentation;
    • lf for EOL;
    • An empty newline at the end of the file when saved;
    • Trailing whitespace trimmed when saved (except Markdown);

Website flow

  • All views are built into root build folder;
  • The assets folder is also in the root build folder;
  • Deploy is made to server via SSH;

Electron App flow

🚧 Coming soon.

Requirements

  • Node.js;
  • Yeoman installed globally: npm install --global yo;
  • Gulp CLI installed globally: npm install --global gulp-cli;
  • XO installed globally (if using XO): npm install --global xo;
  • Docker (if using PHP);

Installation

Run the following command on your terminal:

npm install --global generator-bengal

Usage

With your terminal in your project directory, run the following command, and follow the instructions:

yo bengal

Happy coding! 😼