BindingLanguage must implement inspectTextContent() - upgrade 1.1 to 1.4

Hi,

When upgrading aurelia from 1.1.4 to 1.4.1, I’m seeing this error:

Error: BindingLanguage must implement inspectTextContent()

Full stack trace etc on the dependabot PR below:

Any ideas where to start looking to fix this? If there’s other dependencies I need to upgrade etc?

Many thanks,
Will

start from cleaning node_modules and reinstalling… might be that you have doubled dependencies…

Thanks @Alexander-Taran, I tried checking out the branch above…

git checkout origin/dependabot/npm_and_yarn/aurelia-framework-1.4.1
rm -rf node_modules/
npm install
npm run dev

Then go to http://localhost:8080/ and I see the error as described at Bump aurelia-framework from 1.1.4 to 1.4.1 by dependabot[bot] · Pull Request #413 · ome/omero-iviewer · GitHub

Trying a more incremental approach, I tried making only this change in package.json (nothing in package-lock.json) "aurelia-framework": "1.2.0", and after re-installing node_modules the app started OK. But updating to "aurelia-framework": "1.3.0", I see the same error message as above.

I wonder if it’s simply an incompatibility with some of the other aurelia-* dependencies. Is there a way to update them all to something compatible with latest aurelia-framework? Otherwise I can try to do it manually.

Thanks,
Will.

So, I reverted to "aurelia-framework": "1.2.0" (which works), then tried updating other aurelia deps.

Starting with aurelia-bootstrapper. I couldn’t see any documentation on what versions of aurelia-bootstrapper is compatible with what versions of aurelia-framework. So I initially tried updating from 2.2.1 with… $ npm install aurelia-bootstrapper@2.4.0.
This gave me the follow error:

bluebird.js?f684:1542 Unhandled rejection TypeError: Cannot read properties of undefined (reading 'attrToRemove')    
at ViewCompiler._compileElement (webpack-internal:///./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:2815:26)
at ViewCompiler._compileNode (webpack-internal:///./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:2511:21)`

So, I tried with $ npm install aurelia-bootstrapper@2.3.0 (same error) and finally reverted back to $ npm install aurelia-bootstrapper@2.1.1 but I still get the same error as above, so something in node_modules or package-lock.json is changed - and I can’t use this approach for testing versions.

Deleted node_modules, reset everything to the last working version and only updated aurelia-bootstrapper@2.3.0 - confirmed that this alone does give the error above. So it can’t be updated ahead of updating aurelia-framework itself.

Will try this on other dependencies…

So I’ve been trying incremental upgrades of the various aurelia dependencies at Aurelia update by will-moore · Pull Request #422 · ome/omero-iviewer · GitHub

I have been upgrading each aurelia dependency to the latest version individually.
The last commit & comment: Aurelia update by will-moore · Pull Request #422 · ome/omero-iviewer · GitHub is where I’ve got to…
Updating aurelia-templating-resources from 1.6.0 -> 1.7.0 caused an update of aurelia-binding 1.7.1 -> 2.0.0.

So I guess I need to update something else in order to work with the latest aurelia-binding: 2.0.0. But what?
What is the right strategy to update aurelia-framework and all it’s dependenices, apart from trial and error?

Cheers,
Will

OK, so it’s looking good - I updated the remaining aurelia dependencies to their latest versions including aurelia-templating-resources to 1.14.3 at the same time as updating aurelia-framework to the latest 1.4.1 and everything seems to be working (fingers crossed)…