Meteor 3 update: conflicting instructions and conflict errors

Hello all,

I have a project using Vue.js, Vite, meteor-vite, vite-bundler, and tailwind, started during Meteor 2.16

A few months ago I saw Meteor 3 was on the way, but I waited until now to start to migrate.

Then I see this announcement for 3.0.3 Meteor.js v3.0.3 is out! 🎉 - #6 by nachocodoner

In that it says to delete .meteor … so I do mv .meteor .meteor-old but then npx meteor does not behave as expected… so then I follow the official migration guide: https://v3-migration-docs.meteor.com/

From there, I see meteor update --release 3.0.3 so I do that, but see dependency issues I cannot seem to chase down:

=> Errors while initializing project:         
                                              
While selecting package versions:
error: Conflict: Constraint caching-compiler@1.0.5 is not satisfied by caching-compiler 2.0.0.
Constraints on package "caching-compiler":
* caching-compiler@~2.0.0 <- top level
* caching-compiler@2.0.0 <- caching-html-compiler 2.0.0 <- static-html 1.3.3
* caching-compiler@1.2.2 || 2.0.0-beta300.0 <- jorgenvatle:vite-bundler 1.12.12
* caching-compiler@1.0.5 <- akryum:vue-component 0.3.5

Conflict: Constraint babel-compiler@6.8.0 is not satisfied by babel-compiler 7.11.0.
Constraints on package "babel-compiler":
* babel-compiler@~7.11.0 <- top level
* babel-compiler@7.11.0 <- ecmascript 0.16.9
* babel-compiler@7.11.0 <- typescript 5.4.3
* babel-compiler@7.11.0 <- minifier-js 3.0.0 <- standard-minifier-js 3.0.0
* babel-compiler@7.11.0 <- shell-server 0.6.0
* babel-compiler@7.9.0 <- jorgenvatle:vite-bundler 1.12.12
* babel-compiler@6.8.0 <- akryum:vue-component 0.3.5

Is there documentation somewhere, other than the deep-dive going through the basics of updating your project?

If asked I can explain more of what I’ve done, but no matter what, I keep running into behaviors which do not fit the documentation, or other strange issues.

Is Meteor 3 safe to use? :laughing:

Or do I need to totally rebuild the project as if it were a new application?

The error above should have explained that

The following packages do not support the required top level packages versions:

  • jorgenvatle:vite-bundler 1.12.12
  • akryum:vue-component 0.3.5

Check the latest versions of these components if they support Meteor 3

Thank you @rjdavid

I am open to clearing a path for people using the arrangement I do.

@jorgenvatle and @akryum if you would, can you please remove doubt I missed something with your packages? Is there something I missed in my rtfm so far? How do we jump up to +3.0.0 here?

When I look at vite-bundler that seems to be meteor-vite actually, and I see no migration steps.

When I look at vue-component also, it makes me wonder if I ought just change the format of components, or if there is an up-to-date package there? I have seen other issues with this package, and it seems to be legacy?

Either way the Vue side of Meteor seems a bit out of sync with the mainstream current of Meteor and I am willing to document and test that experience.

You can see a working version of Meteor with Vue 3 here:

Also meteor create will allow you to generate a Vue 3 skeleton. Have a look at what these two sources are using and you should be able to get things working.

You should not be using akryum:vue-component in a Vue 3 project. It is not compatible with Vue 3. And that’s ok since it is not needed as well.

1 Like

Thank you very much @vooteles – I will give that a try and portage my prior application into that new foundation, once I can establish that brings me into v3 and let you know.

By the way, under the surface I notice this:

Compared to this:

And notice neither of those is the number 3 for the package pulled for meteor itself.

Is Meteor an API metaphorical/design framework with the library itself being another version?

Or am I seeing a wrapper for vite / Vue implementations and not Meteor itself which is a dependency?

Either way, thanks for the way to possibly move forward here.

I will look into the comments on vue-component especially/also/next as well.

Marking this as the solution, and thanks again.

I was able to clone over the example, and bring over all the applicable packages from my application… removing two @akryum packages I had ( one being vue-component another being vue-sass ) which as you pointed out are not Vue3 compatible. Honestly those were vestiges of previous attempts to get started and obviously wrong. Thank you for bringing that to my attention. The need to remove that finally registered!

Was able to get my intricate development environment booted up properly, and also create docker containers and run those properly. Now I need to refactor the application itself, and portage that over in the process… but it was a good time for that anyway.

1 Like