From daf97e5fa4f7746555a227dd4e67665d212465a2 Mon Sep 17 00:00:00 2001 From: Mayank Date: Sun, 23 Jun 2024 21:58:21 +0530 Subject: [PATCH 01/60] remove forced components export from root --- lib/src/client/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/src/client/index.ts b/lib/src/client/index.ts index 7c74cd7e..0f0374a3 100644 --- a/lib/src/client/index.ts +++ b/lib/src/client/index.ts @@ -7,7 +7,5 @@ */ // client component exports -export * from "./force-theme"; -export * from "./force-color-scheme"; export * from "./theme-switcher"; export * from "./color-switch"; From 4afdf90d4abf19a61ce5ac7dbb96eb87135fc67a Mon Sep 17 00:00:00 2001 From: Mayank Date: Sun, 23 Jun 2024 21:59:30 +0530 Subject: [PATCH 02/60] docs(changeset): Do not export force-theme and force-color-scheme components from root. --- .changeset/fuzzy-timers-lie.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fuzzy-timers-lie.md diff --git a/.changeset/fuzzy-timers-lie.md b/.changeset/fuzzy-timers-lie.md new file mode 100644 index 00000000..14673128 --- /dev/null +++ b/.changeset/fuzzy-timers-lie.md @@ -0,0 +1,5 @@ +--- +"nextjs-themes": major +--- + +Do not export force-theme and force-color-scheme components from root. From 63704733806b8b06b4bd9f74c05aa93517d3b423 Mon Sep 17 00:00:00 2001 From: mayank1513 Date: Sun, 23 Jun 2024 16:39:43 +0000 Subject: [PATCH 03/60] RELEASING: Releasing 2 package(s) Releases: nextjs-themes@4.0.0-alpha.0 @repo/shared@0.0.6-alpha.0 --- lib/CHANGELOG.md | 6 ++++++ lib/package.json | 2 +- packages/shared/CHANGELOG.md | 7 +++++++ packages/shared/package.json | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/CHANGELOG.md b/lib/CHANGELOG.md index 108f2f39..70c53aac 100644 --- a/lib/CHANGELOG.md +++ b/lib/CHANGELOG.md @@ -1,5 +1,11 @@ # nextjs-themes +## 4.0.0-alpha.0 + +### Major Changes + +- aa3d50e: Do not export force-theme and force-color-scheme components from root. + ## 3.1.7 ### Patch Changes diff --git a/lib/package.json b/lib/package.json index 11aeb28d..f2e33940 100644 --- a/lib/package.json +++ b/lib/package.json @@ -2,7 +2,7 @@ "name": "nextjs-themes", "author": "Mayank Kumar Chaudhari ", "private": false, - "version": "3.1.7", + "version": "4.0.0-alpha.0", "description": "Unleash the Power of React Server Components! Use multiple themes on your site with confidence, without losing any advantages of React Server Components.", "license": "MPL-2.0", "main": "./dist/index.js", diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index f3ffbcff..c831e18b 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @repo/shared +## 0.0.6-alpha.0 + +### Patch Changes + +- Updated dependencies [aa3d50e] + - nextjs-themes@4.0.0-alpha.0 + ## 0.0.5 ### Patch Changes diff --git a/packages/shared/package.json b/packages/shared/package.json index ed024697..67463c82 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@repo/shared", - "version": "0.0.5", + "version": "0.0.6-alpha.0", "private": true, "sideEffects": false, "main": "./dist/index.js", From 623dcc576a91998d883130cc3029045bd868fa70 Mon Sep 17 00:00:00 2001 From: mayank1513 Date: Sun, 23 Jun 2024 16:39:44 +0000 Subject: [PATCH 04/60] Apply changesets and update CHANGELOG --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..5556df7e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "exit", + "tag": "alpha", + "initialVersions": { + "@example/app": "0.0.0", + "@example/pages": "0.0.0", + "@example/vite": "0.0.0", + "nextjs-themes": "3.1.7", + "@repo/eslint-config": "0.0.0", + "@repo/typescript-config": "0.0.0", + "@repo/shared": "0.0.5", + "@repo/scripts": "0.0.0" + }, + "changesets": [ + "fuzzy-timers-lie" + ] +} From 6dc46b7f0a486f7cbe0a9b48f89a9577fa3636d8 Mon Sep 17 00:00:00 2001 From: Mayank Date: Sun, 23 Jun 2024 22:12:55 +0530 Subject: [PATCH 05/60] docs(changeset): Patch alpha to avoid publishing over previously published version --- .changeset/good-cobras-deny.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/good-cobras-deny.md diff --git a/.changeset/good-cobras-deny.md b/.changeset/good-cobras-deny.md new file mode 100644 index 00000000..5592d8b6 --- /dev/null +++ b/.changeset/good-cobras-deny.md @@ -0,0 +1,5 @@ +--- +"nextjs-themes": patch +--- + +Patch alpha to avoid publishing over previously published version From 84925fa2611f3d88f7d770e2938e6f3a91ffdde7 Mon Sep 17 00:00:00 2001 From: mayank1513 Date: Sun, 23 Jun 2024 16:43:49 +0000 Subject: [PATCH 06/60] RELEASING: Releasing 2 package(s) Releases: nextjs-themes@4.0.0-alpha.1 @repo/shared@0.0.6-alpha.1 --- lib/CHANGELOG.md | 6 ++++++ lib/package.json | 2 +- packages/shared/CHANGELOG.md | 7 +++++++ packages/shared/package.json | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/CHANGELOG.md b/lib/CHANGELOG.md index 70c53aac..6dda9092 100644 --- a/lib/CHANGELOG.md +++ b/lib/CHANGELOG.md @@ -1,5 +1,11 @@ # nextjs-themes +## 4.0.0-alpha.1 + +### Patch Changes + +- 4ca22c1: Patch alpha to avoid publishing over previously published version + ## 4.0.0-alpha.0 ### Major Changes diff --git a/lib/package.json b/lib/package.json index f2e33940..b56936c3 100644 --- a/lib/package.json +++ b/lib/package.json @@ -2,7 +2,7 @@ "name": "nextjs-themes", "author": "Mayank Kumar Chaudhari ", "private": false, - "version": "4.0.0-alpha.0", + "version": "4.0.0-alpha.1", "description": "Unleash the Power of React Server Components! Use multiple themes on your site with confidence, without losing any advantages of React Server Components.", "license": "MPL-2.0", "main": "./dist/index.js", diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index c831e18b..22052c90 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @repo/shared +## 0.0.6-alpha.1 + +### Patch Changes + +- Updated dependencies [4ca22c1] + - nextjs-themes@4.0.0-alpha.1 + ## 0.0.6-alpha.0 ### Patch Changes diff --git a/packages/shared/package.json b/packages/shared/package.json index 67463c82..f184b952 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@repo/shared", - "version": "0.0.6-alpha.0", + "version": "0.0.6-alpha.1", "private": true, "sideEffects": false, "main": "./dist/index.js", From 7e510ee6baeb1885844cdd69d25df845a6b217aa Mon Sep 17 00:00:00 2001 From: mayank1513 Date: Sun, 23 Jun 2024 16:43:49 +0000 Subject: [PATCH 07/60] Apply changesets and update CHANGELOG --- .changeset/pre.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 5556df7e..8f93cf92 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -5,13 +5,14 @@ "@example/app": "0.0.0", "@example/pages": "0.0.0", "@example/vite": "0.0.0", - "nextjs-themes": "3.1.7", + "nextjs-themes": "4.0.0-alpha.0", "@repo/eslint-config": "0.0.0", "@repo/typescript-config": "0.0.0", - "@repo/shared": "0.0.5", + "@repo/shared": "0.0.6-alpha.0", "@repo/scripts": "0.0.0" }, "changesets": [ - "fuzzy-timers-lie" + "fuzzy-timers-lie", + "good-cobras-deny" ] } From 8853a88d5fb1e8f0dd4cb166d5945877b416c780 Mon Sep 17 00:00:00 2001 From: Mayank Date: Sun, 23 Jun 2024 22:17:49 +0530 Subject: [PATCH 08/60] Fix changelog location --- scripts/manual-publish.js | 2 +- scripts/publish.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/manual-publish.js b/scripts/manual-publish.js index 6c82827f..6e12f2f0 100644 --- a/scripts/manual-publish.js +++ b/scripts/manual-publish.js @@ -73,7 +73,7 @@ execSync(`cd lib && pnpm build && npm publish --provenance --access public --tag /** Create GitHub release */ execSync( - `gh release create ${NEW_VERSION} --generate-notes${isLatestRelease ? " --latest" : ""} -n "$(sed '1,/^## /d;/^## /,$d' CHANGELOG.md)" --title "Release v${NEW_VERSION}"`, + `gh release create ${NEW_VERSION} --generate-notes${isLatestRelease ? " --latest" : ""} -n "$(sed '1,/^## /d;/^## /,$d' lib/CHANGELOG.md)" --title "Release v${NEW_VERSION}"`, ); execSync("node ./scripts/lite.js"); diff --git a/scripts/publish.js b/scripts/publish.js index e65ea705..9d5d7bbc 100644 --- a/scripts/publish.js +++ b/scripts/publish.js @@ -61,7 +61,7 @@ execSync("cd lib/dist && npm publish --provenance --access public"); /** Create GitHub release */ execSync( - `gh release create ${VERSION} --generate-notes --latest -n "$(sed '1,/^## /d;/^## /,$d' CHANGELOG.md)" --title "Release v${VERSION}"`, + `gh release create ${VERSION} --generate-notes --latest -n "$(sed '1,/^## /d;/^## /,$d' lib/CHANGELOG.md)" --title "Release v${VERSION}"`, ); execSync("node ./scripts/lite.js"); From e72c49c60788d4ee0210cc213be4b1ebc1a9e300 Mon Sep 17 00:00:00 2001 From: Mayank Date: Mon, 24 Jun 2024 09:03:46 +0530 Subject: [PATCH 09/60] docs(changeset): Avoid rerendering without memo. Attempt to minify minzip further --- .changeset/purple-waves-marry.md | 5 + .../client/theme-switcher/theme-switcher.tsx | 91 +++++++++---------- 2 files changed, 48 insertions(+), 48 deletions(-) create mode 100644 .changeset/purple-waves-marry.md diff --git a/.changeset/purple-waves-marry.md b/.changeset/purple-waves-marry.md new file mode 100644 index 00000000..d71f6623 --- /dev/null +++ b/.changeset/purple-waves-marry.md @@ -0,0 +1,5 @@ +--- +"nextjs-themes": patch +--- + +Avoid rerendering without memo. Attempt to minify minzip further diff --git a/lib/src/client/theme-switcher/theme-switcher.tsx b/lib/src/client/theme-switcher/theme-switcher.tsx index 7ba821f3..973afb3f 100644 --- a/lib/src/client/theme-switcher/theme-switcher.tsx +++ b/lib/src/client/theme-switcher/theme-switcher.tsx @@ -1,4 +1,4 @@ -import { memo, useEffect } from "react"; +import { useEffect } from "react"; import { ColorSchemeType } from "../../types"; import { ResolveFunc, UpdateDOMFunc, UpdateForcedPropsFunc, noFOUCScript } from "./no-fouc"; import { initialState, useForcedStore, useThemeStore } from "../../store"; @@ -15,42 +15,35 @@ export interface ThemeSwitcherProps { nonce?: string; } -interface ScriptProps { - /** key */ - k: string; - /** nonce */ - n?: string; - /** styles */ - s?: Record; - /** forcedTheme */ - t?: string; - /** forcedColorScheme */ - c?: ColorSchemeType; -} - let media: MediaQueryList; let updateDOM: UpdateDOMFunc; let resolveTheme: ResolveFunc; let updateForcedProps: UpdateForcedPropsFunc; let updateForcedState: UpdateForcedPropsFunc; -const Script = memo( - ({ k, n = "", s, t, c }: ScriptProps) => { - if (typeof m !== "undefined") - [media, updateDOM, resolveTheme, updateForcedProps, updateForcedState] = [m, u, r, f, g]; - return ( -