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

@blazingly/cli

v0.2.1

Published

![Blazingly](./.github/logo.png)

Downloads

8

Readme

Blazingly

Blazingly (Proof Of Concept/Experiment)

Blazingly™ is a SSR cli tool using parcel in the background for creating web projects that load insanely fast without having to worry about anything as a developer, thanks to the power of parcel and the many tools already included within this CLI.

What makes it so Blazing?

Blazingly uses parcel which causes insanely fast rebuilds during development. Besides using Parcel, Blazingly also optimises your web project in other ways using plugins/presets designed specifically for blazingly to utilise performance best practises as much as it can.

  • Usage of service workers right from the get-go
  • Lazy loading all js and css files
  • Extracting critical css when building

Sounds awesome! How does it work?

Installing blazingly

Global

using yarn

yarn global add @blazingly/cli

or using npm

npm install -g @blazingly/cli

Local

You can also install it locally if you don't want to clutter your global package folder with dozens or hundreds of packages.

using yarn

yarn add @blazingly/cli -D

or using npm

npm install @blazingly/cli -D

Create a scripts section in your package.json, otherwise it's probably not gonna work

{
  "scripts": {
    "serve": "blazingly serve ./src",
    "build": "blazingly build ./src",
    "production-server": "blazingly prod-serve"
  }
}

Using blazingly

Well Blazingly has a very strict naming and folder structure convention, besides that you can pretty much do whatever you want.

Project structure:

/root
  /.root - This is the root of the project '/' route
  /<page-name> - This is a route to whatever you put as pagename for example a folder named hello will result in '/hello'
  /contact - This is an example of a possible folder name/route results in '/contact'
    /css - This contains all css files for the app, every file as a direct child of this folder is considered an entrypoint
      /<subfolder> - subfolders of the css folder are not being used as entrypoints
      style.css - Entrypoint transpiled by postCSS
      anotherstyle.scss - Entrypoint transpiled by node-sass
    /js - This contains all the javascript code for the page
      App.js - This is the entrypoint (You can use any extension as long as parcel understands it and it outputs as Javascript)
    pageData.json - This file can contain any page specific data
    handleRequest.js - This file handles allows you to add custom pre-processing and data injection into the app, before it gets rendered (You can use any extension as long as parcel understands it and it outputs as Javascript)
  siteData.json - This file can contain any site specific data

Starting the application:

blazingly serve <folder containing all the pages {in the above case ./root}>

Building for production

blazingly build <folder containing all the pages {in the above case ./root}>

Starting the production server (run blazingly build first!)

blazingly prod-serve <the output folder of the build command>