Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tooling: add monorepo and update playwright tests #196

Merged
merged 7 commits into from
Aug 18, 2023

Conversation

trm217
Copy link
Collaborator

@trm217 trm217 commented Jul 24, 2023

This converts the repository into a turborepo monorepo (using yarn1 workspaces).
In addition this PR updates the tests to run the e2e-test against the local next-themes state.

@vercel
Copy link

vercel bot commented Jul 24, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
next-themes-basic ❌ Failed (Inspect) Aug 18, 2023 10:17am
next-themes-tailwind ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 18, 2023 10:17am

@trm217
Copy link
Collaborator Author

trm217 commented Jul 24, 2023

@pacocoursey The build commands for both example would need to be updated in vercel.
In addition, I am unable to say if these changes have any impact on your manual release flow?
Would adding changeset in a other PR be nice perhaps?

Anyways, I think these changes are quite neat as they allow running the e2e test against the local version of next-themes.

What do you think? 😄

examples/tailwind/pages/_app.js Outdated Show resolved Hide resolved
packages/next-themes/license.md Outdated Show resolved Hide resolved
@trm217
Copy link
Collaborator Author

trm217 commented Aug 18, 2023

@pacocoursey both vercel deployments seem to require some changes in the vercel dashboard (node version related).
Could you also manually execute the test action? It seems I can‘t run the changes that I made automatically.

@trm217
Copy link
Collaborator Author

trm217 commented Aug 18, 2023

🚀

@trm217 trm217 deleted the chore/monorepo branch August 28, 2023 06:14
pacocoursey added a commit that referenced this pull request Aug 28, 2023
* add license file (#119)

* Fix README hydration ThemeSwitcher example (#120)

Using `resolvedTheme` will cause the select to show `light` or `dark` when `system` is selected rather than `system` as expected.

Co-authored-by: Paco <34928425+pacocoursey@users.noreply.github.com>

* Update documentation around `defaultTheme` (#130)

The previous documentation referred to using `<ThemeProvider defaultTheme="system">`, but this is no longer necessary

* Memoize ThemeContext.Provider value (#135)

Every time <Theme /> renders a new object is constructed and passed to ThemeContext.Provider. This guarantees that regardless of what inputs changed the Context will be propagated. This is particularly harmful when React is doing hydration because if an unhydrated Suspense boudnary exists in the sub-tree of the Provider it will fall back to client rendering regardless of whether the context is an actual dependency for that Suspense boundary.

This commit adds memoization so the value only changes if one of it's inputs change
To make this memoization effective the default argument for `themes` needed to be statically extracted (it constructs a new array on each function invocation otherwise)

* docs: link npm-version badge to npm package-site (#136)

* Update README with instructions for Next.js 13 appDir (#168)

Update README.md

* make `next-themes` react agnostic (#186)

* tooling: add monorepo and update playwright tests (#196)

* chore: add .nvmrc

* chore: convert intor a turbo based monorepo (yarn workspaces)

* chore: start refactoring playwright tests

* chore: add missing scripts to 'example' package and update playwright config accordingly

* fix(example/tailwind): use class-attribute

* chore(actions): update node version and bump setup-node to v2

* chore: move license to repository-root

* Update README with note for HTML class attribute (#192)

* Port #178 (#200)

* port pr 178

* fix up logic

* fix: add explicit undefined type to support exactOptionalPropertyTypes option (Port #177) (#201)

add explicit undefined

* Convert to pnpm monorepo, fix Vercel builds, improve test caching, lint (#202)

* cleanup package.json files

* prettier

* move tests to test/

* empty commit for vercel build

* empty commit for vercel build

* rename root package.json

* upgrade next.js and react in examples

* switch to pnpm monorepo, upgrade deps

* update github actions to use pnpm, add to packageManager

* use workspace dep

* update workflows to install pnpm

* back to npx

* many changes…

* empty commit for vercel build

* empty commit for vercel build

* empty commit for vercel build

* idk

* revert link changes, ready to merge

* chore: add @types/node & @types/jest to root to ensure IDE correctly lints jest globals

* chore: fix remaining merge-issues

* chore(types): improve comend for UseThemeProps.theme

* chore: fix merge-issue that caused forcedTheme to not be returned as resolvedTheme

* chore: cleanup README

---------

Co-authored-by: Paco <34928425+pacocoursey@users.noreply.github.com>
Co-authored-by: Max Leiter <mleiter@usc.edu>
Co-authored-by: Bruno Crosier <bruno.crosier@gmail.com>
Co-authored-by: Josh Story <josh.c.story@gmail.com>
Co-authored-by: Ian Jones <witspr@gmail.com>
Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru>
Co-authored-by: Amr Hassaballah <hassaballah.amr@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants