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

live-cssedit

v0.4.6

Published

Simple nodejs based development tool for instant updates to browser on css file save, for live reloads on css/sass/less changes.

Downloads

4

Readme

Live CSS Edit

Simple nodejs based development tool for instant css updates to browser on file save, for live reloads on css/sass/less changes.

Chrome Dev Workspace is great, but when you want to compile css from sass it gets complicated and much less useful.

This will set up server side events, where a tiny nodejs server will ping the browser once per css/sass/etc file change. Live-CSSEdit is designed to embed a small chunk of javascript into HTML files.

Much more efficient than the browser blindly reloading css files every second.

Importantly, this also handles Web Components and Shadow DOM, looking for linked css from however deeply nested custom elements.

Getting Started

live-cssedit is built to be used within a nodeJS server (regardless of framework).

Download the package:

npm i --save live-cssedit

Now, require it within your nodeJs based server. Then, however you handle your html files, simply call it with the html string before sending the response back.

const liveCSSEdit = require('live-cssedit')();

app.get(/index.html$/, (req, res) => {
	fs.readFile(__dirname + '/index.html', 'utf8', (err, htmlStr) => {
		res.setHeader('Content-Type', 'text/html');
		res.send(liveCSSEdit(htmlStr));
	});
});

Options

Options are set on call to liveCSSEdit's initialize function

Port

By default the server side events nodejs server will run on 3000. Set it to whatever you would like.

Watch Glob

By default watch (using chokidar) will use glob: ['./**/*.css']. You can set this to whatever you choose.

Below is a bit more extensive example that sets both port and glob. Also, it shows a basic rewrite directing all non file url requests to index.html (for single page apps, etc).

const LiveCSSEdit = require('live-cssedit');

var liveCSSEdit = LiveCSSEdit('3001', ['./dev/components/**/*.css']);

app.get(/^\/[^.]*$/, (req, res) => { 
	fs.readFile(__dirname + '/index.html', 'utf8', (err, htmlStr) => {
		res.setHeader('Content-Type', 'text/html');
		res.send(liveCSSEdit(htmlStr));
	});
});