From 62d906e6abde0c251550a598e159c67d53e287a4 Mon Sep 17 00:00:00 2001 From: Shane Osbourne Date: Wed, 17 May 2023 20:40:06 +0200 Subject: [PATCH 1/2] fix: append to head if body not present yet - fixes #2031 (#2041) Co-authored-by: Shane Osbourne --- examples/options.snippetOptions.js | 30 +++++++++++++++++++ .../browser-sync/templates/script-tags.html | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 examples/options.snippetOptions.js diff --git a/examples/options.snippetOptions.js b/examples/options.snippetOptions.js new file mode 100644 index 000000000..06d856c1e --- /dev/null +++ b/examples/options.snippetOptions.js @@ -0,0 +1,30 @@ +/** + * + * Install: + * npm install browser-sync + * + * Run: + * node + * + * This example shows how you can place the snippet anywhere. + */ + +"use strict"; + +var path = require("path"); +var browserSync = require("../packages/browser-sync").create(); +var cwd = path.join(__dirname, ".."); +var fixtures_dir = path.join(cwd, "packages/browser-sync/test/fixtures"); + +browserSync.init({ + files: [path.join(fixtures_dir, "css/*.css")], + server: fixtures_dir, + snippetOptions: { + rule: { + match: /<\/head>/i, + fn: function (snippet, match) { + return snippet + match; + }, + }, + }, +}); diff --git a/packages/browser-sync/templates/script-tags.html b/packages/browser-sync/templates/script-tags.html index 310c804b2..4cc7d9d5d 100644 --- a/packages/browser-sync/templates/script-tags.html +++ b/packages/browser-sync/templates/script-tags.html @@ -8,6 +8,8 @@ script.src = '%script%'.replace("HOST", location.hostname); if (document.body) { document.body.appendChild(script); + } else if (document.head) { + document.head.appendChild(script); } } catch (e) { console.error("Browsersync: could not append script tag", e); From 02efdff2f6cf2991b87f8e8eaf7bbd21559fa612 Mon Sep 17 00:00:00 2001 From: Shane Osbourne Date: Wed, 17 May 2023 19:44:04 +0100 Subject: [PATCH 2/2] v2.29.3 --- lerna.json | 2 +- packages/browser-sync-client/package-lock.json | 4 ++-- packages/browser-sync-client/package.json | 2 +- packages/browser-sync-ui/package-lock.json | 4 ++-- packages/browser-sync-ui/package.json | 2 +- packages/browser-sync/package-lock.json | 8 ++++---- packages/browser-sync/package.json | 6 +++--- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lerna.json b/lerna.json index 4f4c9dcf0..54aafb81e 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": [ "packages/*" ], - "version": "2.29.2" + "version": "2.29.3" } diff --git a/packages/browser-sync-client/package-lock.json b/packages/browser-sync-client/package-lock.json index af03a5e26..c510ffe75 100644 --- a/packages/browser-sync-client/package-lock.json +++ b/packages/browser-sync-client/package-lock.json @@ -1,12 +1,12 @@ { "name": "browser-sync-client", - "version": "2.29.2", + "version": "2.29.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "browser-sync-client", - "version": "2.29.2", + "version": "2.29.3", "license": "ISC", "dependencies": { "etag": "1.8.1", diff --git a/packages/browser-sync-client/package.json b/packages/browser-sync-client/package.json index f2ebddd46..dc4d81136 100644 --- a/packages/browser-sync-client/package.json +++ b/packages/browser-sync-client/package.json @@ -1,7 +1,7 @@ { "name": "browser-sync-client", "description": "Client-side scripts for BrowserSync", - "version": "2.29.2", + "version": "2.29.3", "homepage": "https://github.com/shakyshane/browser-sync-client", "author": "Shane Osbourne ", "repository": { diff --git a/packages/browser-sync-ui/package-lock.json b/packages/browser-sync-ui/package-lock.json index bb17e21fe..6a4e79e15 100644 --- a/packages/browser-sync-ui/package-lock.json +++ b/packages/browser-sync-ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "browser-sync-ui", - "version": "2.29.2", + "version": "2.29.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "browser-sync-ui", - "version": "2.29.2", + "version": "2.29.3", "license": "Apache-2.0", "dependencies": { "async-each-series": "0.1.1", diff --git a/packages/browser-sync-ui/package.json b/packages/browser-sync-ui/package.json index bce5e5f30..689fb2a40 100644 --- a/packages/browser-sync-ui/package.json +++ b/packages/browser-sync-ui/package.json @@ -1,7 +1,7 @@ { "name": "browser-sync-ui", "description": "User Interface for BrowserSync", - "version": "2.29.2", + "version": "2.29.3", "homepage": "http://www.browsersync.io/", "author": { "name": "Shane Osbourne" diff --git a/packages/browser-sync/package-lock.json b/packages/browser-sync/package-lock.json index 45042adfc..cb1902bdc 100644 --- a/packages/browser-sync/package-lock.json +++ b/packages/browser-sync/package-lock.json @@ -1,16 +1,16 @@ { "name": "browser-sync", - "version": "2.29.2", + "version": "2.29.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "browser-sync", - "version": "2.29.2", + "version": "2.29.3", "license": "Apache-2.0", "dependencies": { - "browser-sync-client": "^2.29.2", - "browser-sync-ui": "^2.29.2", + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", "bs-recipes": "1.3.4", "chalk": "4.1.2", "chokidar": "^3.5.1", diff --git a/packages/browser-sync/package.json b/packages/browser-sync/package.json index 25357b1f4..62b5fa674 100644 --- a/packages/browser-sync/package.json +++ b/packages/browser-sync/package.json @@ -1,7 +1,7 @@ { "name": "browser-sync", "description": "Live CSS Reload & Browser Syncing", - "version": "2.29.2", + "version": "2.29.3", "homepage": "https://browsersync.io/", "author": { "name": "Shane Osbourne" @@ -35,8 +35,8 @@ "serve:fixtures": "node dist/bin test/fixtures -w --no-open" }, "dependencies": { - "browser-sync-client": "^2.29.2", - "browser-sync-ui": "^2.29.2", + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", "bs-recipes": "1.3.4", "chalk": "4.1.2", "chokidar": "^3.5.1",