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

cartridge-local-server

v1.0.0

Published

local server (browser-sync) expansion pack for the cartridge project

Downloads

4

Readme

Cartridge local server Build Status

local-server expansion pack for Cartridge

To use this module, you will need cartridge-cli installed and have a cartridge project setup.

npm install cartridge-local-server --save-dev

By default this module does the following:

Alot of the browser-sync functionality is opt-in. By default the following are opt-in (including more), needing to be changed in the config file (explained below)

  • Syncing scrolling, clicks and form interactions
  • File watchers, injecting changes into the browser when detected.
  • Additional server config such as directory listing, rewrite rules and connections through a proxy.

Config

Once installed, the config file task.local-server.js is created and stored in the _config directory in the root of your cartridge project.

The taskConfig object is passed straight to the browser-sync module during setup.

The baseDir config key tells browser-sync what directory to use as the server root. Browser syncing functionality itself has been set to opt-in by default, changing ghostMode to true will turn this on.

All available options can be found in the browser sync documentation


Usage

There is a single task including in this expansion pack:

Running gulp local-server will setup a browser-sync instance and open a browser when setup is completed. Unlike other cartridge expansion packs, this task is not included as part of the default or build task - with the server requiring to be run seperately to these tasks.


Development

Commit message standards Commitizen friendly

Try and adhere as closely as possible to the Angular commit messages guidelines.

Commitizen is a command line tool which can help with this:

npm install -g commitizen

Now, simply use git cz instead of git commit when committing.

ESLint

By default task.js and .js files within _config are linted using ESLint. These checks are run by travis and will fail the build if errors are found.

To manually check for errors run

npm run lint

If you are getting an error that you don't understand then try looking at the JSLint Error Explanations site or the ESLint rules page. The linting rules are in place for a reason. If you have a specific use case where you need to violate one then disable the linter in place rather than removing the rule. In addition leave a comment explaining the reasoning for disabling the linter.

/*eslint no-extend-native: "off"*/
// We are polyfilling native functionality for older browsers
if (!Element.prototype.addEventListener) {
	Element.prototype.removeEventListener = function (sEventType, fListener) {
		...
	}
}
/*eslint no-extend-native: "error"*/

If you add further JavaScript files to this module then please add them to the linting command defined in package.json.