mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
import connect = require("connect");
|
|
import livereload = require("connect-livereload");
|
|
|
|
const app = connect();
|
|
|
|
// With no options
|
|
app.use(livereload());
|
|
|
|
// With string options
|
|
app.use(livereload({
|
|
port: 35729,
|
|
ignore: [".js", ".svg"]
|
|
}));
|
|
|
|
// With RegExp options
|
|
app.use(livereload({
|
|
port: 35729,
|
|
ignore: [/\.js(\?.*)?$/, /\.css(\?.*)?$/]
|
|
}));
|
|
|
|
// With default options
|
|
app.use(livereload({
|
|
ignore: [
|
|
/\.js(\?.*)?$/, /\.css(\?.*)?$/, /\.svg(\?.*)?$/, /\.ico(\?.*)?$/, /\.woff(\?.*)?$/,
|
|
/\.png(\?.*)?$/, /\.jpg(\?.*)?$/, /\.jpeg(\?.*)?$/, /\.gif(\?.*)?$/, /\.pdf(\?.*)?$/
|
|
],
|
|
|
|
// include all urls by default
|
|
include: [/.*/],
|
|
|
|
// this function is used to determine if the content of `res.write` or `res.end` is html.
|
|
html: function (str) {
|
|
if (!str) return false;
|
|
return /<[:_-\w\s\!\/\=\"\']+>/i.test(str);
|
|
},
|
|
|
|
// rules are provided to find the place where the snippet should be inserted.
|
|
// the main problem is that on the server side it can be tricky to determine if a string will be valid html on the client.
|
|
// the function `fn` of the first `match` is executed like this `body.replace(rule.match, rule.fn);`
|
|
// the function `fn` has got the arguments `fn(w, s)` where `w` is the matches string and `s` is the snippet.
|
|
rules: [{
|
|
match: /<\/body>(?![\s\S]*<\/body>)/i,
|
|
fn: prepend
|
|
}, {
|
|
match: /<\/html>(?![\s\S]*<\/html>)/i,
|
|
fn: prepend
|
|
}, {
|
|
match: /<\!DOCTYPE.+?>/i,
|
|
fn: append
|
|
}],
|
|
|
|
// port where the script is loaded
|
|
port: 35729,
|
|
|
|
// location where the script is provided (not by connect-livereload). Change this e.g. when serving livereload with a proxy.
|
|
src: "http://localhost:35729/livereload.js?snipver=1",
|
|
|
|
// Set this option to `true` to set `req.headers['accept-encoding']` to 'identity' (disabling compression)
|
|
disableCompression: false
|
|
}));
|
|
|
|
function prepend(w: string, s: string): string {
|
|
return s + w;
|
|
}
|
|
function append(w: string, s: string): string {
|
|
return w + s;
|
|
} |