Uncaught TypeError: Object(...) is not a function -- version mismatch

This issue has been tracked since 2023-01-31.

Are you requesting a feature, reporting a bug or ask a question?

Bug

What is the current behavior?

I am attempting to upgrade creator to 1.9.64, while using the latest core version: 1.9.71. I get this error with a blank page when trying to use the creator. Uncaught TypeError: Object(...) is not a function.

This is an issue because we want to use the latest version of the creator we paid for, while still being able to get the latest core version. The creator should pint the version without ^.

What is the expected behavior?

Expected it to work fine, even with different versions.

How would you reproduce the current behavior (if this is a bug)?

Listed the dependencies of your package.json as follows:

  "survey-core": "^1.9.71",
  "survey-creator-core": "^1.9.64",
  "survey-creator-react": "^1.9.64",
  "survey-react": "^1.9.71",

Provide the test code and the tested page URL (if applicable)

Tested page URL:

Specify your

  • browser: chrome
  • editor version:
andrewtelnov wrote this answer on 2023-01-31

@nehemiah-tzur Please make sure you have the same version for all libraries and it is better to remove "survey-react" and use "survey-react-ui".
In fact "survey-creator-react" will install: "survey-core", "survey-creator-core" and "survey-react-ui".
"survey-react" is a bundle of "survey-core" and "survey-react-ui". You have two instance of SurveyJS Library in your app.

Thank you,
Andrew

nehemiah-tzur wrote this answer on 2023-01-31

But i would like to use the latest survey core. Whereas my survey-creator license only allows me a previous version.

andrewtelnov wrote this answer on 2023-01-31

@nehemiah-tzur You can't use different versions of survey-core and "survey-creator-xxx". We are generating an error in console in this case.
Please ask your management to renewal the subscription, you will get 60% discount on renewal comparing with initial price, and continue to use latest versions.

Thank you,
Andrew

llimos wrote this answer on 2023-01-31

@andrewtelnov Many package managers (e.g. Yarn) can handle multiple different versions of dependencies, and each package gets the one it wants. If you could change the creator packages to depend on pinned versions of the other packages (e.g. 1.9.64 instead of ^1.9.64) that would solve the problem. And for those who don't have supporting package managers, it would prevent installing an unsupported combination, so a win in either case.

It's also semantically more accurate, because ^1.9.64 implies that any later minor version of survey-core and survey-react-ui will work with an earlier version of survey-creator-react, which isn't true in practice.

Is this something you could consider?

andrewtelnov wrote this answer on 2023-01-31

@llimos I don't think we need to support different versions of our SurveyJS Library for SurveyJS Creator. I do not see any benefits from it except the headache. We are often need to support a new functionality in Creator that has been introduced in SurveyJS Library. The opposite is true as well. Sometimes we need to add new functionality in SurveyJS Library to impement someting in Creator.

We are worried that all JSONs and code that works in early versions of SurveyJS Library and SurveyJS Creator continue to work in new version. We are doing our best to avoid breaking changes.

Thank you,
Andrew

More Details About Repo
Owner Name surveyjs
Repo Name survey-creator
Full Name surveyjs/survey-creator
Language TypeScript
Created Date 2015-12-22
Updated Date 2023-03-30
Star Count 683
Watcher Count 29
Fork Count 308
Issue Count 301

YOU MAY BE INTERESTED

Issue Title Created Date Updated Date