wallabyjs / quokka

Repository for Quokka.js questions and issues
https://quokkajs.com
1.18k stars 31 forks source link

Can't activate PRO on previous version of extension #934

Closed greqov closed 9 months ago

greqov commented 9 months ago

Issue description or question

Is this issue related to Quokka not outputting the expected results of your code?: No

My license expired and now I can't activate PRO version. The site tells me:

Your license expired on 4 May, 2023
The last version of Quokka that was included in your 12-months of free upgrades was: Quokka-1.0.534 for VS Code

So I've installed that 1.0.534 version, activated license (via license key) on extension page. But if I try to run quokka at js file (via "Start on current file" command), editor shows me a notification about upgrading

Your Quokka.js 'Pro' license free upgrades period has expired. If you would like to work with the latest version of Quokka.js 'Pro' and future versions released within the next 12 months, please renew your license. If you have already purchased the new license, please activate it.

Quokka.js Console Output

Cannot find module './quokka.js' imported from /home/ej/.vscode/extensions/wallabyjs.quokka-vscode-1.0.534/dist/wallaby/runners/node/quokka@1.0.0/initializer.js 

Am I doing something wrong? I thought I can use old purchased version "forever".

Code editor version

Visual Studio Code v1.86.1 Node.js: 18.17.1

OS name and version

OS: Linux x64 6.7.4-arch1-1

smcenlly commented 9 months ago

I thought I can use old purchased version "forever".

Yes - you can.

It sounds like the message you are receiving is simply a warning that your license has expired, not that there is a problem. You may disable the notification with the VS Code setting quokka.suppressExpirationNotifications.

The Cannot find module './quokka.js' imported from quokka@1.0.0/initializer.js may be related to breaking changes in node.js that are not supported by older versions of Quokka.


Can you please try the quokka.suppressExpirationNotifications setting and see if the warning disappears?

Can you please try downgrading to node v16 to see if you still have the Cannot find module error?


If you're still seeing license warnings on start (or it is not starting for you), please email hello@wallabyjs.com with your license key so we can investigate the issue further for you.

If you're still having problems running Quokka files in your project, it may be related to your project using ESM and breaking changes that have been made in node.js. You can confirm if this is the case by using the latest version of Quokka and switching to community edition (do not use PRO features, and confirm that Quokka works for your file).

greqov commented 9 months ago

Can you please try the quokka.suppressExpirationNotifications setting and see if the warning disappears?

Yep, it disappears.

Can you please try downgrading to node v16 to see if you still have the Cannot find module error?

I installed nvm, installed and switched to node v16. But even then quokka uses the latest node version (and outputs an error). I don't where it come from.

​​​​​Quokka PRO 'Untitled-1.js' (node: v21.6.1)​​​​

Is there a way to tell quokka to use specific node version?

I tried this extension on another PC (Windows 10, without any nodejs installed). It works, it uses node 18.17.1, the same version that we can see in VSCode 'About' window. So technically I can use that old purchased version of extension (probably until installing newer nodejs).

So it seems like in ideal scenario I can choose between:

I have to admit you've "tricked" me with this purchase. I thought that I buy extension with certain list of features and I can use it "forever". In reality I have to hassle with outdated software to make it work.

smcenlly commented 9 months ago

Is there a way to tell quokka to use specific node version?

Yes, this is mentioned in our docs. You may specify the path to the node executable in your global Quokka config.json file, for example:

{
    "node": "/Users/username/.nvm/versions/node/v18.19.1/bin/node"
}

I tried this extension on another PC (Windows 10, without any nodejs installed). It works, it uses node 18.17.1, the same version that we can see in VSCode 'About' window. So technically I can use that old purchased version of extension (probably until installing newer nodejs).

By default, Quokka will use the version of node available for your system as registered in your system paths (unless you override it in your Quokka configuration as described above).

So it seems like in ideal scenario I can choose between:

  • old nodejs + quokka + sacrificed other software;
  • latest nodejs + all nodejs-related software but without PRO quokka.

I have to admit you've "tricked" me with this purchase. I thought that I buy extension with certain list of features and I can use it "forever". In reality I have to hassle with outdated software to make it work.

We understand the dilemma between staying current with Node.js and maintaining access to Quokka's PRO features. There is no trick here, your problem is that you are using an older version that is no longer compatible with the latest version of node (through no fault of our own).

As mentioned above, the incompatibility with the latest version of node is a result of breaking changes in node; please note that we do not version lock anything in Quokka.

It's important to understand that the Node.js landscape changes rapidly, which can unexpectedly affect compatibility. We strive to adapt Quokka to these changes, but it’s a challenge to predict every impact.

We provide an upgrade / renewal program to manage the evolving nature of software dependencies, including Node.js. It helps us ensure Quokka remains compatible and valuable to you over time and that Quokka supports the latest tech you are using.