@serwist/next 8.4.0 → 8.4.1

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.
@@ -1,2 +0,0 @@
1
- import type { RuntimeCaching } from "@serwist/build";
2
- export declare const defaultCache: RuntimeCaching[];
package/dist/index.cjs CHANGED
@@ -750,7 +750,7 @@ const prefixedLog = (prefixType, ...message)=>{
750
750
  if (message.length === 0) {
751
751
  console[consoleMethod]("");
752
752
  } else {
753
- console[consoleMethod](" " + prefix, ...message);
753
+ console[consoleMethod](` ${prefix}`, ...message);
754
754
  }
755
755
  };
756
756
  const info = (...message)=>{
@@ -774,7 +774,7 @@ const withPWAInit = (pluginOptions)=>{
774
774
  config = nextConfig.webpack(config, options);
775
775
  }
776
776
  if (disable) {
777
- options.isServer && info("PWA support is disabled.");
777
+ options.isServer && info("Serwist is disabled.");
778
778
  return config;
779
779
  }
780
780
  if (!config.plugins) {
@@ -818,13 +818,14 @@ const withPWAInit = (pluginOptions)=>{
818
818
  if (!options.isServer) {
819
819
  if (!register) {
820
820
  info("Service worker won't be automatically registered as per the config, please call the following code in componentDidMount or useEffect:");
821
- info(` window.serwist.register()`);
821
+ info(" window.serwist.register()");
822
822
  if (!tsConfigJson?.compilerOptions?.types?.includes("@serwist/next/typings")) {
823
823
  info("You may also want to add @serwist/next/typings to compilerOptions.types in your tsconfig.json/jsconfig.json.");
824
824
  }
825
825
  }
826
826
  const { swSrc: providedSwSrc, swDest: providedSwDest, additionalPrecacheEntries, exclude = [], modifyURLPrefix = {}, manifestTransforms = [], ...otherBuildOptions } = buildOptions;
827
- let swSrc = providedSwSrc, swDest = providedSwDest;
827
+ let swSrc = providedSwSrc;
828
+ let swDest = providedSwDest;
828
829
  if (!path.isAbsolute(swSrc)) {
829
830
  swSrc = path.join(options.dir, swSrc);
830
831
  }
@@ -835,7 +836,7 @@ const withPWAInit = (pluginOptions)=>{
835
836
  const shouldBuildSWEntryWorker = cacheOnFrontEndNav;
836
837
  let swEntryPublicPath = undefined;
837
838
  if (shouldBuildSWEntryWorker) {
838
- const swEntryWorkerSrc = path.join(__dirname$1, `sw-entry-worker.js`);
839
+ const swEntryWorkerSrc = path.join(__dirname$1, "sw-entry-worker.js");
839
840
  const swEntryName = `swe-worker-${getContentHash(swEntryWorkerSrc, dev)}.js`;
840
841
  swEntryPublicPath = path.posix.join(basePath, swEntryName);
841
842
  const swEntryWorkerDest = path.join(destDir, swEntryName);
package/dist/index.d.cts CHANGED
@@ -1,5 +0,0 @@
1
- import type { NextConfig } from "next";
2
- import type { PluginOptions } from "./types.js";
3
- declare const withPWAInit: (pluginOptions: PluginOptions) => (nextConfig?: NextConfig) => NextConfig;
4
- export default withPWAInit;
5
- export * from "./types.js";
package/dist/index.js CHANGED
@@ -745,7 +745,7 @@ const prefixedLog = (prefixType, ...message)=>{
745
745
  if (message.length === 0) {
746
746
  console[consoleMethod]("");
747
747
  } else {
748
- console[consoleMethod](" " + prefix, ...message);
748
+ console[consoleMethod](` ${prefix}`, ...message);
749
749
  }
750
750
  };
751
751
  const info = (...message)=>{
@@ -769,7 +769,7 @@ const withPWAInit = (pluginOptions)=>{
769
769
  config = nextConfig.webpack(config, options);
770
770
  }
771
771
  if (disable) {
772
- options.isServer && info("PWA support is disabled.");
772
+ options.isServer && info("Serwist is disabled.");
773
773
  return config;
774
774
  }
775
775
  if (!config.plugins) {
@@ -813,13 +813,14 @@ const withPWAInit = (pluginOptions)=>{
813
813
  if (!options.isServer) {
814
814
  if (!register) {
815
815
  info("Service worker won't be automatically registered as per the config, please call the following code in componentDidMount or useEffect:");
816
- info(` window.serwist.register()`);
816
+ info(" window.serwist.register()");
817
817
  if (!tsConfigJson?.compilerOptions?.types?.includes("@serwist/next/typings")) {
818
818
  info("You may also want to add @serwist/next/typings to compilerOptions.types in your tsconfig.json/jsconfig.json.");
819
819
  }
820
820
  }
821
821
  const { swSrc: providedSwSrc, swDest: providedSwDest, additionalPrecacheEntries, exclude = [], modifyURLPrefix = {}, manifestTransforms = [], ...otherBuildOptions } = buildOptions;
822
- let swSrc = providedSwSrc, swDest = providedSwDest;
822
+ let swSrc = providedSwSrc;
823
+ let swDest = providedSwDest;
823
824
  if (!path.isAbsolute(swSrc)) {
824
825
  swSrc = path.join(options.dir, swSrc);
825
826
  }
@@ -830,7 +831,7 @@ const withPWAInit = (pluginOptions)=>{
830
831
  const shouldBuildSWEntryWorker = cacheOnFrontEndNav;
831
832
  let swEntryPublicPath = undefined;
832
833
  if (shouldBuildSWEntryWorker) {
833
- const swEntryWorkerSrc = path.join(__dirname, `sw-entry-worker.js`);
834
+ const swEntryWorkerSrc = path.join(__dirname, "sw-entry-worker.js");
834
835
  const swEntryName = `swe-worker-${getContentHash(swEntryWorkerSrc, dev)}.js`;
835
836
  swEntryPublicPath = path.posix.join(basePath, swEntryName);
836
837
  const swEntryWorkerDest = path.join(destDir, swEntryName);
@@ -1,9 +0,0 @@
1
- export type SerwistNextOptionsKey = "self.__SERWIST_SW_ENTRY";
2
- export interface SerwistNextOptions {
3
- sw: string;
4
- scope: string;
5
- cacheOnFrontEndNav: boolean;
6
- register: boolean;
7
- reloadOnOnline: boolean;
8
- swEntryWorker: string | undefined;
9
- }
@@ -1,7 +0,0 @@
1
- export type MessageType = {
2
- type: "__FRONTEND_NAV_CACHE__";
3
- url: URL | string;
4
- } | {
5
- type: "__START_URL_CACHE__";
6
- url: URL | string;
7
- };
@@ -1,6 +0,0 @@
1
- import { Serwist } from "@serwist/window";
2
- declare global {
3
- interface Window {
4
- serwist: Serwist;
5
- }
6
- }
package/dist/types.d.cts CHANGED
@@ -1,81 +0,0 @@
1
- import type { WebpackInjectManifestOptions } from "@serwist/build";
2
- type Require<T, U extends keyof T> = T & Required<Pick<T, U>>;
3
- export interface PluginOptions extends Require<WebpackInjectManifestOptions, "swDest"> {
4
- /**
5
- * Enable additional route caching when users navigate through pages with
6
- * `next/link`. This improves the user experience in some cases but it
7
- * also adds a bit of overhead due to additional network calls.
8
- * @default false
9
- */
10
- cacheOnFrontEndNav?: boolean;
11
- /**
12
- * Whether Serwist should be disabled.
13
- * @default false
14
- */
15
- disable?: boolean;
16
- /**
17
- * Whether `@serwist/next` should automatically register the service worker for you. If
18
- * you want to register the service worker yourself, set this to `false` and run
19
- * `window.serwist.register()` in `componentDidMount` or `useEffect`.
20
- * @example
21
- * ```tsx
22
- * // app/register-pwa.tsx
23
- * "use client";
24
- * import { useEffect } from "react";
25
- * import type { Serwist } from "@serwist/window";
26
- *
27
- * declare global {
28
- * interface Window {
29
- * serwist: Serwist;
30
- * }
31
- * }
32
- *
33
- * export default function RegisterPWA() {
34
- * useEffect(() => {
35
- * if ("serviceWorker" in navigator && window.serwist !== undefined) {
36
- * window.serwist.register();
37
- * }
38
- * }, []);
39
- * return <></>;
40
- * }
41
- *
42
- * // app/layout.tsx
43
- * import RegisterPWA from "./register-pwa";
44
- *
45
- * export default function RootLayout({
46
- * children,
47
- * }: {
48
- * children: React.ReactNode;
49
- * }) {
50
- * return (
51
- * <html lang="en">
52
- * <head />
53
- * <body>
54
- * <RegisterPWA />
55
- * {children}
56
- * </body>
57
- * </html>
58
- * );
59
- * }
60
- * ```
61
- * @default true
62
- */
63
- register?: boolean;
64
- /**
65
- * Whether Serwist should reload the app when it goes online.
66
- * @default true
67
- */
68
- reloadOnOnline?: boolean;
69
- /**
70
- * The service worker's URL scope. Set to `/foo/` so that paths under `/foo/` are under the service
71
- * worker's control while others are not.
72
- * @default nextConfig.basePath
73
- */
74
- scope?: string;
75
- /**
76
- * The URL to the service worker.
77
- * @default "/sw.js"
78
- */
79
- swUrl?: string;
80
- }
81
- export {};
@@ -1,7 +0,0 @@
1
- /**
2
- * Find the first truthy value in an array.
3
- * @param arr
4
- * @param fn
5
- * @returns
6
- */
7
- export declare const findFirstTruthy: <T, U>(arr: T[], fn: (elm: T) => U) => NonNullable<U> | undefined;
@@ -1,3 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import type fs from "node:fs";
3
- export declare const getContentHash: (file: fs.PathOrFileDescriptor, isDev: boolean) => string;
@@ -1,3 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import fs from "node:fs";
3
- export declare const getFileHash: (file: fs.PathOrFileDescriptor) => string;
@@ -1,6 +0,0 @@
1
- /**
2
- * Get a package's version
3
- * @param packageName
4
- * @returns
5
- */
6
- export declare const getPackageVersion: (packageName: string) => string | undefined;
@@ -1,6 +0,0 @@
1
- export { findFirstTruthy } from "./find-first-truthy.js";
2
- export { getContentHash } from "./get-content-hash.js";
3
- export { getFileHash } from "./get-file-hash.js";
4
- export { getPackageVersion } from "./get-package-version.js";
5
- export { loadTSConfig } from "./load-tsconfig.js";
6
- export * as logger from "./logger.js";
@@ -1,2 +0,0 @@
1
- import type { TsConfigJson as TSConfigJSON } from "type-fest";
2
- export declare const loadTSConfig: (baseDir: string, relativeTSConfigPath: string | undefined) => TSConfigJSON | undefined;
@@ -1,5 +0,0 @@
1
- export declare const wait: (...message: any[]) => void;
2
- export declare const error: (...message: any[]) => void;
3
- export declare const warn: (...message: any[]) => void;
4
- export declare const info: (...message: any[]) => void;
5
- export declare const event: (...message: any[]) => void;
package/dist/utils.d.cts CHANGED
@@ -1,4 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import fs from "node:fs";
3
- export declare const getFileHash: (file: fs.PathOrFileDescriptor) => string;
4
- export declare const getContentHash: (file: fs.PathOrFileDescriptor, isDev: boolean) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serwist/next",
3
- "version": "8.4.0",
3
+ "version": "8.4.1",
4
4
  "type": "module",
5
5
  "description": "A module that integrates Serwist into your Next.js application.",
6
6
  "files": [
@@ -67,9 +67,9 @@
67
67
  "dependencies": {
68
68
  "clean-webpack-plugin": "4.0.0",
69
69
  "fast-glob": "3.3.2",
70
- "@serwist/build": "8.4.0",
71
- "@serwist/webpack-plugin": "8.4.0",
72
- "@serwist/window": "8.4.0"
70
+ "@serwist/build": "8.4.1",
71
+ "@serwist/webpack-plugin": "8.4.1",
72
+ "@serwist/window": "8.4.1"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@types/node": "20.10.5",
@@ -81,7 +81,7 @@
81
81
  "type-fest": "4.8.3",
82
82
  "typescript": "5.4.0-dev.20231226",
83
83
  "webpack": "5.89.0",
84
- "@serwist/constants": "8.4.0"
84
+ "@serwist/constants": "8.4.1"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "next": ">=14.0.0",
@@ -90,7 +90,7 @@
90
90
  "scripts": {
91
91
  "build": "rimraf dist && cross-env NODE_ENV=production rollup --config rollup.config.js",
92
92
  "dev": "rollup --config rollup.config.js --watch",
93
- "lint": "eslint src --ext ts,tsx,js,jsx,cjs,mjs",
93
+ "lint": "biome lint ./src",
94
94
  "typecheck": "tsc"
95
95
  }
96
96
  }