1.0.18 • Published 4 years ago

rufus-livereload v1.0.18

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

Rufus Livereload

Develop in local machine reflecting SharePoint site at real time.

npm.io

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: 'myusername@myemail.com',
	password: '**********'
};

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.10

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago