vue-screenfull 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [license-url]: https://github.com/chengchuu/vue-screenfull/blob/main/LICENSE
10
10
 
11
11
  Reactive, strongly typed, SSR-safe fullscreen utilities designed for Vue 3.
12
- The library uses the browser Fullscreen API when available and can optionally provide an explicitly labelled CSS pseudo-fullscreen fallback.
12
+ An optional CSS pseudo-fullscreen fallback is also available.
13
13
 
14
14
  - [Project website](https://chengchuu.github.io/vue-screenfull/)
15
15
  - [Live playground](https://chengchuu.github.io/vue-screenfull/playground/)
@@ -351,6 +351,25 @@ npm run dev
351
351
 
352
352
  Native fullscreen automation is intentionally not treated as universally reliable because browsers enforce user activation.
353
353
 
354
+ ## Installable Documentation Website
355
+
356
+ The project website is a Progressive Web App scoped to `/vue-screenfull/`. Its homepage,
357
+ playground, and API documentation share a generated manifest and a Google Workbox v7 service
358
+ worker. Documents, scripts, and styles use bounded network-first caches so current documentation
359
+ normally wins without pairing fresh HTML with stale bundles; local images and fonts use bounded
360
+ cache-first storage. A precached offline page is used only when a requested document is unavailable
361
+ from both the network and runtime cache.
362
+
363
+ Installation uses the browser's native `beforeinstallprompt` flow when available. The site never
364
+ opens that prompt automatically, and browsers without a custom prompt can use their menu or, on
365
+ iOS/iPadOS Safari, **Share → Add to Home Screen**. Installing this website is separate from the
366
+ Fullscreen API and does not grant fullscreen capability.
367
+
368
+ Worker updates remain user-controlled. When a new version is waiting, choose **Update now** to
369
+ activate it and reload the current page once. On the playground, this explicit action is the only
370
+ update path that reloads an active session. The generated worker includes a final-artifact version
371
+ marker, so deployable website changes can be detected without precaching unversioned bundles.
372
+
354
373
  ## Development
355
374
 
356
375
  Node.js 22 is used in CI.
@@ -364,10 +383,14 @@ npm run test
364
383
  npm run build
365
384
  npm run docs
366
385
  npm run seo:validate
386
+ npm run pwa:validate
367
387
  npm run preview
368
388
  npm pack --dry-run
369
389
  ```
370
390
 
391
+ Normal `npm run dev` does not register the production worker. Build `npm run docs` and serve the
392
+ generated `docs` directory from localhost under `/vue-screenfull/` for production-like PWA testing.
393
+
371
394
  See `MANUAL_TESTING.md` for the browser matrix and real-browser strategy.
372
395
  Production output remains `lib/index.cjs.js`, `lib/index.esm.js`, `lib/vue-screenfull.min.js`, `lib/index.d.ts`, `lib/typing.d.ts`, and `lib/global.d.ts`. Native Node ESM resolves through the additional conditional entry `lib/index.mjs`.
373
396
 
package/lib/index.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * vue-screenfull v1.0.4
2
+ * vue-screenfull v1.0.6
3
3
  * (c) 2018-2026 Cheng https://www.npmjs.com/package/vue-screenfull
4
4
  * Released under the MIT License.
5
5
  */
package/lib/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * vue-screenfull v1.0.4
2
+ * vue-screenfull v1.0.6
3
3
  * (c) 2018-2026 Cheng https://www.npmjs.com/package/vue-screenfull
4
4
  * Released under the MIT License.
5
5
  */
package/lib/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * vue-screenfull v1.0.4
2
+ * vue-screenfull v1.0.6
3
3
  * (c) 2018-2026 Cheng https://www.npmjs.com/package/vue-screenfull
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * vue-screenfull v1.0.4
2
+ * vue-screenfull v1.0.6
3
3
  * (c) 2018-2026 Cheng https://www.npmjs.com/package/vue-screenfull
4
4
  * Released under the MIT License.
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-screenfull",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Reactive, strongly typed, SSR-safe fullscreen utilities for Vue 3.",
5
5
  "main": "lib/index.cjs.js",
6
6
  "module": "lib/index.esm.js",
@@ -28,17 +28,17 @@
28
28
  ],
29
29
  "scripts": {
30
30
  "dev": "webpack serve --config ./scripts/webpack.config.dev.js",
31
- "dev:open": "webpack serve --config ./scripts/webpack.config.dev.js --open",
32
31
  "build": "cross-env SCRIPTS_NPM_PACKAGE_DEBUG=close SCRIPTS_NPM_PACKAGE_VERSION=$npm_package_version rollup --config ./scripts/rollup.config.mjs",
33
32
  "build:debug": "cross-env SCRIPTS_NPM_PACKAGE_DEBUG=open SCRIPTS_NPM_PACKAGE_VERSION=$npm_package_version rollup --config ./scripts/rollup.config.mjs",
34
33
  "build:dev": "webpack --config ./scripts/webpack.config.dev.js",
35
- "build:playground": "webpack --mode production --config ./scripts/webpack.config.dev.js",
34
+ "build:playground": "cross-env GITHUB_PAGES=true webpack --mode production --config ./scripts/webpack.config.dev.js",
36
35
  "test": "jest",
37
36
  "test:coverage": "jest --coverage",
38
37
  "typecheck": "tsc --noEmit",
39
- "docs": "typedoc --out ./docs/api --readme ./README.md --excludeProtected --excludePrivate --excludeInternal --hideGenerator && npm run build:playground && node scripts/build-pages.js && npm run seo:validate",
38
+ "docs": "typedoc --out ./docs/api --readme ./README.md --excludeProtected --excludePrivate --excludeInternal --hideGenerator && npm run build:playground && node scripts/build-pages.js && npm run seo:validate && npm run pwa:validate",
40
39
  "seo:validate": "node scripts/validate-seo.js",
41
- "lint": "eslint ./examples ./scripts ./site/*.js ./src ./test ./types",
40
+ "pwa:validate": "node scripts/validate-pwa.js",
41
+ "lint": "eslint ./examples ./scripts ./site ./src ./test ./types",
42
42
  "lint:fix": "npm run lint -- --fix",
43
43
  "format": "prettier --write .",
44
44
  "format:check": "prettier --check .",
@@ -101,7 +101,16 @@
101
101
  "vue": "^3.5.24",
102
102
  "webpack": "^5.108.4",
103
103
  "webpack-cli": "^7.2.1",
104
- "webpack-dev-server": "^6.0.0"
104
+ "webpack-dev-server": "^6.0.0",
105
+ "workbox-build": "^7.4.1",
106
+ "workbox-cacheable-response": "^7.4.1",
107
+ "workbox-core": "^7.4.1",
108
+ "workbox-expiration": "^7.4.1",
109
+ "workbox-navigation-preload": "^7.4.1",
110
+ "workbox-precaching": "^7.4.1",
111
+ "workbox-routing": "^7.4.1",
112
+ "workbox-strategies": "^7.4.1",
113
+ "workbox-window": "^7.4.1"
105
114
  },
106
115
  "peerDependencies": {
107
116
  "vue": "^3.3.0"