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

Nimbus dependencies #9

Open
IonianPlayboy opened this issue Nov 23, 2024 · 9 comments
Open

Nimbus dependencies #9

IonianPlayboy opened this issue Nov 23, 2024 · 9 comments

Comments

@IonianPlayboy
Copy link
Collaborator

IonianPlayboy commented Nov 23, 2024

Dependencies and packages

Since the project is not starting from scratch, there is already a lot of dependencies installed with a specific version. Now might be a good time to revisit what we are using and if there some upkeep needed or not.

In general

  • Are we happy with our current dependencies ?
  • Is there any alternatives we should consider ?
  • Is there any package that is not needed anymore ? (ex: I don't think we use unimportanywhere, AFAIK we just rely on Nuxt for autoimports ?)

On pnpm i

Executing pnpm i in the root of the project shows a warning in the console :

Progress: resolved 1771, reused 1745, downloaded 0, added 1771, done

 WARN  Could not apply patch <root>/patches/@vueuse__motion.patch to <root>/node_modules/.pnpm/@[email protected][email protected][email protected]_vue@3_4l5qmtl2olisq7wu3y32q3d4py/node_modules/@vueuse/motion
  • Do we still need patches at all ?
  • If the answer is yes, should we update this patch to stop this warning ?

Note

This has been solved in #10

On pnpm dev

Executing pnpm dev shows two warnings in the console :

  WARN  [nuxt] Expected @nuxt/schema to be at least 3.14.159 but got 3.13.2. This might lead to unexpected behavior. Check your package.json or refresh your lockfile.


[@nuxtjs/i18n 6:02:27 PM]  WARN  In project layer (<root>/nuxt.config) - langDir is set to an absolute path <root>/locales) but should be set a path relative to srcDir (<root>). Absolute paths will not work in production, see https://i18n.nuxtjs.org/options/lazy#langdir for more details.
  • Do we need to refresh the lockfile to stop the warning ?
  • Do we need to change the i18n config ?

Note

This has been solved in #13

On pnpm outdated

Running pnpm outdated shows that a lot of the dependencies could be updated :

  • Do we want to upgrade everything ?
  • If no, is there any package we should update ?
┌───────────────────────────────────┬──────────┬───────────┐
│ Package                           │ Current  │ Latest    │
├───────────────────────────────────┼──────────┼───────────┤
│ @antfu/eslint-config (dev)        │ 3.9.1    │ 3.9.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ @iconify/json                     │ 2.2.170  │ 2.2.275   │
├───────────────────────────────────┼──────────┼───────────┤
│ @iconify/utils                    │ 2.1.32   │ 2.1.33    │
├───────────────────────────────────┼──────────┼───────────┤
│ @nuxt/test-utils                  │ 3.14.3   │ 3.14.4    │
├───────────────────────────────────┼──────────┼───────────┤
│ @upstash/redis                    │ 1.34.0   │ 1.34.3    │
├───────────────────────────────────┼──────────┼───────────┤
│ form-data                         │ 4.0.0    │ 4.0.1     │
├───────────────────────────────────┼──────────┼───────────┤
│ github-reserved-names             │ 2.0.4    │ 2.0.7     │
├───────────────────────────────────┼──────────┼───────────┤
│ lru-cache                         │ 11.0.0   │ 11.0.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ nuxt (dev)                        │ 3.14.159 │ 3.14.1592 │
├───────────────────────────────────┼──────────┼───────────┤
│ pinia                             │ 2.2.2    │ 2.2.6     │
├───────────────────────────────────┼──────────┼───────────┤
│ vue-tsc (dev)                     │ 2.1.6    │ 2.1.10    │
├───────────────────────────────────┼──────────┼───────────┤
│ @emoji-mart/data                  │ 1.1.2    │ 1.2.1     │
├───────────────────────────────────┼──────────┼───────────┤
│ @nuxt/devtools                    │ 1.5.2    │ 1.6.1     │
├───────────────────────────────────┼──────────┼───────────┤
│ @nuxtjs/color-mode                │ 3.4.4    │ 3.5.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/core                      │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-bold            │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-character-count │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-code-block      │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-history         │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-italic          │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-mention         │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-paragraph       │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-placeholder     │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/extension-text            │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/pm                        │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/starter-kit               │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/suggestion                │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @tiptap/vue-3                     │ 2.2.4    │ 2.10.2    │
├───────────────────────────────────┼──────────┼───────────┤
│ @vue-macros/nuxt                  │ 1.11.12  │ 1.12.9    │
├───────────────────────────────────┼──────────┼───────────┤
│ @vueuse/core                      │ 11.0.3   │ 11.3.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ @vueuse/integrations              │ 11.0.3   │ 11.3.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ @vueuse/math                      │ 11.0.3   │ 11.3.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ @vueuse/nuxt                      │ 11.0.3   │ 11.3.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ chroma-js                         │ 3.0.0    │ 3.1.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ emoji-mart                        │ 5.5.2    │ 5.6.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ focus-trap                        │ 7.5.4    │ 7.6.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ happy-dom                         │ 15.10.2  │ 15.11.6   │
├───────────────────────────────────┼──────────┼───────────┤
│ iso-639-1                         │ 3.0.1    │ 3.1.3     │
├───────────────────────────────────┼──────────┼───────────┤
│ shiki                             │ 1.22.2   │ 1.23.1    │
├───────────────────────────────────┼──────────┼───────────┤
│ simple-git                        │ 3.26.0   │ 3.27.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ std-env                           │ 3.7.0    │ 3.8.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ typescript (dev)                  │ 5.6.2    │ 5.7.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ unimport                          │ 3.11.1   │ 3.13.3    │
├───────────────────────────────────┼──────────┼───────────┤
│ workbox-build                     │ 7.1.1    │ 7.3.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ workbox-window                    │ 7.1.0    │ 7.3.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ @vercel/kv                        │ 2.0.0    │ 3.0.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ nuxt-security                     │ 1.4.3    │ 2.1.4     │
├───────────────────────────────────┼──────────┼───────────┤
│ postcss-nested                    │ 6.0.1    │ 7.0.2     │
├───────────────────────────────────┼──────────┼───────────┤
│ string-length                     │ 5.0.1    │ 6.0.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ @antfu/ni (dev)                   │ 0.23.0   │ 0.23.1    │
├───────────────────────────────────┼──────────┼───────────┤
│ @pinia/nuxt                       │ 0.5.4    │ 0.7.0     │
├───────────────────────────────────┼──────────┼───────────┤
│ @unocss/nuxt                      │ 0.63.6   │ 0.64.1    │
├───────────────────────────────────┼──────────┼───────────┤
│ slimeform                         │ 0.9.1    │ 0.10.0    │
├───────────────────────────────────┼──────────┼───────────┤
│ vite-plugin-pwa                   │ 0.20.5   │ 0.21.0    │
└───────────────────────────────────┴──────────┴───────────┘
@userquin
Copy link
Contributor

You should install nimbus via pnpm install --frozen-lockfile (undo changes and run previous command),

I'll check if we can update some dependencies...

@userquin
Copy link
Contributor

userquin commented Nov 23, 2024

I guess we need to recreate the patches, missing version in the patch name.

@IonianPlayboy
Copy link
Collaborator Author

You should install nimbus via pnpm install --frozen-lockfile (undo changes and run previous command),

@userquin This is happening even when running pnpm install --frozen-lockfile on a freshly cloned version of nimbus on my end.

I have included a recording to show what's happening :

  1. clone nimbusin a new folder
  2. run pnpm install --frozen-lockfile
  3. run pnpm dev
  4. the warning is till there
nimbus-install.mov

@userquin
Copy link
Contributor

You can ignore both warnings, I'm going to check both...

@userquin
Copy link
Contributor

Now it should be fine, i18n and nuxt schema warnings fixed on dev server

@IonianPlayboy
Copy link
Collaborator Author

Thanks @userquin, I can confirm the warnings are gone now! I'll keep the issue open to discuss upgradind the other dependencies, or finding alternatives/obsolete packages.

@shuuji3
Copy link
Contributor

shuuji3 commented Nov 24, 2024

Renovate is configured for Elk: elk-zone/elk#1098, which periodically scans outdated dependencies and creates PRs. I think we can set up Renovate for nimbus too.

Currently, some of them fail CI check so we need to adjust the existing codebase to align with package version up.

@IonianPlayboy
Copy link
Collaborator Author

@shuuji3 If Renovate was working fine for Elk then let's not reinvent the wheel, agreed.

Who could setup Renovate on this repo then ? I guess it must be someone with admin rights ?

@shuuji3
Copy link
Contributor

shuuji3 commented Nov 24, 2024

Yes, the admin permission is needed as it requires installing the Renovate app (https://github.com/marketplace/renovate) to the repository (@patak-dev or someone who has proper permission can do that).

We already codified the Renovate setting here so it would be easier to replicate the same setting as Elk instead of setting up from scratch: https://github.com/nimbus-town/nimbus/blob/main/.github/renovate.json5

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

No branches or pull requests

3 participants