ElMassimo / iles

🏝 The joyful site generator
https://iles.pages.dev
MIT License
1.06k stars 31 forks source link

Issues with peer dependencies #214

Open ouuan opened 1 year ago

ouuan commented 1 year ago

Description 📖

After bumping the dependencies, issues with peer dependencies are found by pnpm.

I think @islands/feed needs to update the peer dependency version and iles needs to bump its dependencies.

Reproduction 🐞

Run ncu, pnpm i and pnpm typecheck in https://github.com/ouuan/iles-blog.

pnpm i shows:

 WARN  Issues with peer dependencies found
.
├─┬ @islands/feed 0.8.0
│ └── ✕ unmet peer iles@^0.8: found 0.9.0
└─┬ iles 0.9.0
  └─┬ unplugin-vue-components 0.21.2
    └─┬ unplugin 0.7.2
      └── ✕ unmet peer vite@"^2.3.0 || ^3.0.0-0": found 4.0.3 in iles

pnpm typecheck shows: (see edit log) It turns out that the type check error was caused by https://github.com/doesdev/rollup-plugin-analyzer not specifying rollup version in package.json and using rollup 2, which is not related to iles, and the peer dependency warnings are harmless. But still love to see updated dependencies with the peer dependency warning resolved :)

Dependencies Info _Run `npx iles info` and `pnpm list` (or `npm list`) and provide the output:_ ``` iles v0.9.0 vite v4.0.3 dependencies: @giscus/vue 2.2.6 @types/html-escaper 3.0.0 @unocss/reset 0.48.0 @vueuse/components 9.9.0 @vueuse/core 9.9.0 date-fns 2.29.3 filesize 10.0.6 fuse.js 6.6.2 hast-util-select 5.0.3 html-escaper 3.0.3 iles 0.9.0 isbot 3.6.5 katex 0.16.4 plausible-tracker 0.3.8 prism-themes 1.9.0 simple-git 3.15.1 ts-exhaustive-check 1.0.0 unified 10.1.2 unocss 0.48.0 vue 3.2.45 devDependencies: @cloudflare/workers-types 4.20221111.1 @iconify-json/mdi 1.1.41 @islands/excerpt 0.9.0 @islands/feed 0.8.0 @islands/headings 0.8.1 @islands/images 0.8.1 @islands/prism 0.8.0 @types/hast 2.3.4 @types/node 18.11.18 @typescript-eslint/eslint-plugin 5.47.1 @typescript-eslint/parser 5.47.1 @unocss/transformer-directives 0.48.0 @vue/eslint-config-typescript 11.0.2 @vue/runtime-core 3.2.45 eslint 8.31.0 eslint-config-airbnb-base 15.0.0 eslint-plugin-import 2.26.0 eslint-plugin-vue 9.8.0 got 11.8.5 rehype-katex 6.0.2 remark-gfm 3.0.1 remark-math 5.1.1 rollup-plugin-analyzer 4.0.0 sass 1.57.1 tsup 6.3.0 typescript 4.9.4 vite 4.0.3 vite-plugin-compression 0.5.1 vue-tsc 1.0.19 ```
ouuan commented 1 year ago

BTW, there seem to be a lot of outdated dependencies. Any reason not to bump them, or just have no time?

ElMassimo commented 1 year ago

Hi, I was on vacation, planning to update dependencies later on.

There are some incompatibilities related with changes in the way Vite 4 handles ESM, but there should be a way to workaround those.

ouuan commented 1 year ago

Any chance that the dependencies could get updated? I'm fine even if iles itself stops gaining new features, but I hope that at least the dependencies can be up-to-date.

There has been too long since the last update, so I can understand the difficulty to do this. I'd like to help if needed, but I'm not sure how to detect compatibility problems and ensure that everything works fine after upgrading the dependencies.

ElMassimo commented 1 year ago

Hi @ouuan!

Doing batch upgrades every now and then is more efficient for me, as otherwise updating dependencies becomes a very time consuming chore.

Primarily, there wasn't a compelling enough reason to update deps given that îles was working properly, but Vite 4.3 has some potential performance improvements that would benefit îles users, and that's a nice motivation.

Thanks for reaching out, and stay tuned 😃

ouuan commented 1 year ago

I think when a batch upgrade contains breaking changes, it's harder to locate where it breaks, so it's easier to keep the dependencies up-to-date continuously 🤔

I wrote the previous comment because I was not able to use the TypeScript 5 array extends syntax whose support was added in Vite 4.2. It's not very important though.

ElMassimo commented 1 year ago

Agreed, but it's a balancing act.

In the case of Vite, which acts as a platform for this library, given îles is making use of most of its features—some in very specific ways—upgrading always has the risk of uncovering new bugs (both in Vite and îles).

Without enough time to test, these bugs will be caught by îles users instead.

Releasing less frequently allows me to spend more time testing manually in my sites when I do a release, resulting in îles users getting more stable experience, both when they upgrade or try it for the first time through create-iles.

TechAkayy commented 1 year ago

Good day Max! With latest update to 0.9.5 & also create-iles package as well, any plans to update peer dependencies of @islands packages? I'm using feed and getting the peer dependencies error. Thanks.

image

ouuan commented 1 year ago

Hi, @ElMassimo! There has been a month since the release of Vite 4.3. Any plans to update the dependencies?

ElMassimo commented 1 year ago

Sorry, big life changes. Preparing a release targeting Vite 4.4.

TechAkayy commented 1 year ago

Awesome, can't wait 😀

ouuan commented 9 months ago

@ElMassimo What's the status of 86ea918eef71a4ac3ffe212cae1b22fde28e1554? Could you please test the latest Vite 4.4 and make a new iles release?