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

rufus-livereload

v1.0.18

Published

Livereload your files in local repository with SharePoint folder

Downloads

6

Readme

Rufus Livereload

Develop in local machine reflecting SharePoint site at real time.

Live reload experience

Develop... Save... Enjoy! By running Rufus Serve Task, you can write scripts locally and check changes directly on SharePoint site. All changes dected in local files will reflects the target folder.

Usage

Install using npm:

$ npm install rufus-livereload

In Node.js:

const rufus = require('rufus-livereload').rufus;

async function sync(options) {
	await rufus(options).sync();
}

async function serve(options) {
	await rufus(options).serve();
}

async function syncThenServe(options) {
	await sync(options);
	await serve(options);
} 

In client:

<script src="http://localhost:5051/rufus-client.js" type="text/javascript"></script>

Usage with gulp

Typically, rufus is used with gulp due to facility to run tasks.

const rufus = require('rufus-livereload').rufus;
const rufusOptions = require('rufus.config.json');

async function serveTask() {
	await rufus(rufusOptions).serve();
}

exports.serve = serveTask;

###Sync and Serve

  • sync is responsible to sync local files in SharePoint folder. Even powerful, sync is very simple, its just erase target folder in SharePoint and recreate it uploading local files.
  • serve is the watcher. Any local change detected while serve is running is passed to the server. The serve supports update, add and delete files and folders modes.

###Options

  • localPath   string required Local folder or file to watch changes. Rufus will build exactly same folder structure to the SharePoint. Note that empty files and folders will not be uploaded.

  • webStaticPort  int Port used to create server for static files requested by client. Default is 5051.

  • webSocketPort  int Port used to create WebSocket server for real time communication to client reload. Page reload will run automatically after any change are detected and upload performed. Default is 8081.

  • sharePointUrl  string required URL SharePoint site.

  • sharePointFolder  string required Relative URL for folder in SharePoint URL.

  • sharePointWorkingUrl  string When informed, Rufus will open this URL in browser when Rufus Watch is ready. Otherwise, you need to open browser in site working page that client script was inserted after Rufus Watch is ready due to the fact that WebSocket connection is established in page load.

  • ignore  (string, string) => Promise<boolean> Filter for watcher. It will receive mode and path in parameters. Default is false.

  • username  string required Username to login in SharePoint.

  • password  string required Password to login in SharePoint. If you use two-step verification please visit Using app passwords with apps that don't support two-step verification.

Options usage example:

const rufusOptions = {
	localPath: './src',
	webStaticPort: 5051,
	webSocketPort: 8081,
	sharePointUrl: 'https://myurl.sharepoint.com/sites/subsite',
	sharePointFolder: 'Shared Documents/Subfolder',
	sharePointWorkingUrl: 'https://myurl.sharepoint.com/sites/subsite/Project%20Detail%20Pages/WorkflowStageStatus.aspx?ProjUid=1',
	ignore: async (mode, path) => mode == 'remove' || path.endsWith('.less') || await myCondition(),
	username: '[email protected]',
	password: '**********'
};