# BindingLanguage must implement inspectTextContent() - upgrade 1.1 to 1.4

**URL:** <https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837>\
**Category:** Help Requests\
**Created:** [July 7, 2022, 10:01am UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837 "2022-07-07T10:01:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![will-moore](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/will-moore/32/1503_2.png) [@will-moore](https://discourse.aurelia.io/u/will-moore)\
**Post date:** [July 7, 2022, 10:01am UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/1 "2022-07-07T10:01:17Z")

</div>

Hi,

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

```auto
Error: BindingLanguage must implement inspectTextContent()

```

Full stack trace etc on the dependabot PR below:

> <https://github.com/ome/omero-iviewer/pull/413>
>
> Bumps \[aurelia-framework\](https://github.com/aurelia/framework) from 1.1.4 to 1.…4.1.
> \<details\>
> \<summary\>Release notes\</summary\>
> \<p\>\<em\>Sourced from \<a href="https://github.com/aurelia/framework/releases"\>aurelia-framework's releases\</a\>.\</em\>\</p\>
> \<blockquote\>
> \<h2\>1.4.1\</h2\>
> \<h2\>What's Changed\</h2\>
> \<ul\>
> \<li\>fix(dep): use latest templating to resolve chain dep vul issue by \<a href="https://github.com/bigopon"\>\<code\>@​bigopon\</code\>\</a\> in \<a href="https://github-redirect.dependabot.com/aurelia/framework/pull/1001"\>aurelia/framework#1001\</a\>\</li\>
> \</ul\>
> \<p\>Resolves \<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/992"\>#992\</a\>\</p\>
> \<p\>\<strong\>Full Changelog\</strong\>: \<a href="https://github.com/aurelia/framework/compare/1.4.0...1.4.1"\>https://github.com/aurelia/framework/compare/1.4.0...1.4.1\</a\>\</p\>
> \<h2\>1.4.0\</h2\>
> \<h2\>What's Changed\</h2\>
> \<ul\>
> \<li\>fix(dep): resolve vulnerable dep issue by \<a href="https://github.com/bigopon"\>\<code\>@​bigopon\</code\>\</a\> in \<a href="https://github-redirect.dependabot.com/aurelia/framework/pull/1000"\>aurelia/framework#1000\</a\>\</li\>
> \</ul\>
> \<p\>\<strong\>Full Changelog\</strong\>: \<a href="https://github.com/aurelia/framework/compare/1.3.1...1.4.0"\>https://github.com/aurelia/framework/compare/1.3.1...1.4.0\</a\>\</p\>
> \<h2\>1.3.1\</h2\>
> \<ul\>
> \<li\>Add module field to package.json\</li\>
> \</ul\>
> \<h2\>1.3.0\</h2\>
> \<ul\>
> \<li\>Dependency update.\</li\>
> \</ul\>
> \<h2\>1.3.0-rc.2\</h2\>
> \<h3\>\<a href="https://github.com/aurelia/framework/compare/1.3.0-rc.1...1.3.0-rc.2"\>1.3.0-rc.2\</a\>\</h3\>
> \<h4\>Bug Fixes\</h4\>
> \<ul\>
> \<li\>\<strong\>FrameworkConfiguration:\</strong\> use private info (\<a href="https://github.com/aurelia/framework/commit/5a51394"\>5a51394\</a\>)\</li\>
> \</ul\>
> \<h2\>1.3.0-rc.1\</h2\>
> \<h3\>\<a href="https://github.com/aurelia/framework/compare/1.2.0...1.3.0-rc.1"\>aurelia-framework 1.3.0-rc.1\</a\>\</h3\>
> \<h4\>Features\</h4\>
> \<ul\>
> \<li\>\<strong\>Aurelia:\</strong\> ability to define root with constructor (\<a href="https://github.com/aurelia/framework/commit/15fc9dd"\>15fc9dd\</a\>)\</li\>
> \<li\>\<strong\>config:\</strong\> accepts classes beside module id string (\<a href="https://github.com/aurelia/framework/commit/80a3d39"\>80a3d39\</a\>)\</li\>
> \</ul\>
> \<h2\>1.2.0\</h2\>
> \<h3\>\<a href="https://github.com/aurelia/framework/compare/1.1.5...1.2.0"\>aurelia-framework 1.2.0\</a\>\</h3\>
> \<h4\>Features\</h4\>
> \<ul\>
> \<li\>\<strong\>log:\</strong\> support optional log level param to developmentLogging(). (\<a href="https://github.com/aurelia/framework/commit/7962912"\>7962912\</a\>)\</li\>
> \</ul\>
> \<h2\>1.1.5\</h2\>
> \<p\>Documentation update.\</p\>
> \</blockquote\>
> \</details\>
> \<details\>
> \<summary\>Changelog\</summary\>
> \<p\>\<em\>Sourced from \<a href="https://github.com/aurelia/framework/blob/master/doc/CHANGELOG.md"\>aurelia-framework's changelog\</a\>.\</em\>\</p\>
> \<blockquote\>
> \<h2\>\<a href="https://github.com/aurelia/framework/compare/1.4.0...1.4.1"\>1.4.1\</a\> (2022-03-31)\</h2\>
> \<h3\>Bug Fixes\</h3\>
> \<ul\>
> \<li\>\<strong\>dep:\</strong\> use latest templating to resolve chain dep vul issue (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/1001"\>#1001\</a\>) (\<a href="https://github.com/aurelia/framework/commit/1930cf16291b6d6bb3ad7ee5e5de404bfb47cd03"\>1930cf1\</a\>)\</li\>
> \</ul\>
> \<h1\>\<a href="https://github.com/aurelia/framework/compare/1.3.1...1.4.0"\>1.4.0\</a\> (2022-03-31)\</h1\>
> \<h3\>Bug Fixes\</h3\>
> \<ul\>
> \<li\>\<strong\>all:\</strong\> point package.json module from dist/es2015 back to dist/native-modules (\<a href="https://github.com/aurelia/framework/commit/0e593594ddc72f10c5f630728cfe2448862dde7b"\>0e59359\</a\>)\</li\>
> \<li\>\<strong\>dep:\</strong\> resolve vulnerable dep issue (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/1000"\>#1000\</a\>) (\<a href="https://github.com/aurelia/framework/commit/78102fdc3ecb52be5bc3cec998025f4fa8510856"\>78102fd\</a\>)\</li\>
> \</ul\>
> \<p\>\</p\>
> \<h1\>\<a href="https://github.com/aurelia/framework/compare/1.3.0-rc.1...1.3.0-rc.2"\>1.3.0-rc.2\</a\> (2018-06-21)\</h1\>
> \<h3\>Bug Fixes\</h3\>
> \<ul\>
> \<li\>\<strong\>FrameworkConfiguration:\</strong\> use private info (\<a href="https://github.com/aurelia/framework/commit/5a51394"\>5a51394\</a\>)\</li\>
> \</ul\>
> \<p\>\</p\>
> \<h1\>\<a href="https://github.com/aurelia/framework/compare/1.2.0...1.3.0-rc.1"\>1.3.0-rc.1\</a\> (2018-06-21)\</h1\>
> \<h3\>Features\</h3\>
> \<ul\>
> \<li\>\<strong\>Aurelia:\</strong\> ability to define root with constructor (\<a href="https://github.com/aurelia/framework/commit/15fc9dd"\>15fc9dd\</a\>)\</li\>
> \<li\>\<strong\>config:\</strong\> accepts classes beside module id string (\<a href="https://github.com/aurelia/framework/commit/80a3d39"\>80a3d39\</a\>)\</li\>
> \</ul\>
> \<p\>\</p\>
> \<h1\>\<a href="https://github.com/aurelia/framework/compare/1.1.5...1.2.0"\>1.2.0\</a\> (2018-03-29)\</h1\>
> \<h3\>Bug Fixes\</h3\>
> \<ul\>
> \<li\>\<strong\>doc:\</strong\> clarify when detached() is called (\<a href="https://github.com/aurelia/framework/commit/6eee2b9"\>6eee2b9\</a\>)\</li\>
> \<li\>\<strong\>doc:\</strong\> updated contact detail screenshot to bootstrap 4 styles (\<a href="https://github.com/aurelia/framework/commit/5cdfe26"\>5cdfe26\</a\>)\</li\>
> \<li\>\<strong\>doc:\</strong\> updated screenshots to bootstrap 4 styles (\<a href="https://github.com/aurelia/framework/commit/88f0210"\>88f0210\</a\>)\</li\>
> \<li\>\<strong\>doc:\</strong\> updated the form layout in the contact manager tutorial (\<a href="https://github.com/aurelia/framework/commit/19a5dbe"\>19a5dbe\</a\>)\</li\>
> \</ul\>
> 
> \</blockquote\>
> \<p\>... (truncated)\</p\>
> \</details\>
> \<details\>
> \<summary\>Commits\</summary\>
> \<ul\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/17699b730b785d0cea4cadd7cc66a155ff01a95d"\>\<code\>17699b7\</code\>\</a\> chore(release): prepare release v1.4.1\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/1930cf16291b6d6bb3ad7ee5e5de404bfb47cd03"\>\<code\>1930cf1\</code\>\</a\> fix(dep): use latest templating to resolve chain dep vul issue (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/1001"\>#1001\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/ba229294513d5500c881ee96757b7fc5e1031945"\>\<code\>ba22929\</code\>\</a\> chore(release): prepare release v1.4.0\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/78102fdc3ecb52be5bc3cec998025f4fa8510856"\>\<code\>78102fd\</code\>\</a\> fix(dep): resolve vulnerable dep issue (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/1000"\>#1000\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/45bbae48eea46688a1a8e308bbd54f1ad354b68b"\>\<code\>45bbae4\</code\>\</a\> chore: generate dts (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/999"\>#999\</a\>) closes \<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/998"\>#998\</a\>\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/9fcd25a01cbe4533d7727ff8b73a2332e9362f9a"\>\<code\>9fcd25a\</code\>\</a\> build(deps): bump lodash from 4.17.11 to 4.17.21 (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/996"\>#996\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/e6646d1ea085eb39b0cf1c2f007b26250ab8e5e1"\>\<code\>e6646d1\</code\>\</a\> build(deps): bump path-parse from 1.0.6 to 1.0.7 (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/984"\>#984\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/ecf4581e7eec0e8a96435aead6e97196cfda093a"\>\<code\>ecf4581\</code\>\</a\> build(deps): bump hosted-git-info from 2.7.1 to 2.8.9 (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/982"\>#982\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/82ba0db27cfd9b8506dda366eec12a5d99565ac7"\>\<code\>82ba0db\</code\>\</a\> build(deps): bump js-yaml from 3.12.1 to 3.14.1 (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/997"\>#997\</a\>)\</li\>
> \<li\>\<a href="https://github.com/aurelia/framework/commit/afcd6368f6852265c0e09c81798c43346ff9490e"\>\<code\>afcd636\</code\>\</a\> build(deps): bump aurelia-path from 1.1.2 to 1.1.7 (\<a href="https://github-redirect.dependabot.com/aurelia/framework/issues/985"\>#985\</a\>)\</li\>
> \<li\>Additional commits viewable in \<a href="https://github.com/aurelia/framework/compare/1.1.4...1.4.1"\>compare view\</a\>\</li\>
> \</ul\>
> \</details\>
> \<br /\>
> 
> 
> \[!\[Dependabot compatibility score\](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=aurelia-framework&package-manager=npm\_and\_yarn&previous-version=1.1.4&new-version=1.4.1)\](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
> 
> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting \`@dependabot rebase\`.
> 
> \[//\]: # (dependabot-automerge-start)
> \[//\]: # (dependabot-automerge-end)
> 
> \---
> 
> \<details\>
> \<summary\>Dependabot commands and options\</summary\>
> \<br /\>
> 
> You can trigger Dependabot actions by commenting on this PR:
> \- \`@dependabot rebase\` will rebase this PR
> \- \`@dependabot recreate\` will recreate this PR, overwriting any edits that have been made to it
> \- \`@dependabot merge\` will merge this PR after your CI passes on it
> \- \`@dependabot squash and merge\` will squash and merge this PR after your CI passes on it
> \- \`@dependabot cancel merge\` will cancel a previously requested merge and block automerging
> \- \`@dependabot reopen\` will reopen this PR if it is closed
> \- \`@dependabot close\` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
> \- \`@dependabot ignore this major version\` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
> \- \`@dependabot ignore this minor version\` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
> \- \`@dependabot ignore this dependency\` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
> \- \`@dependabot use these labels\` will set the current labels as the default for future PRs for this repo and language
> \- \`@dependabot use these reviewers\` will set the current reviewers as the default for future PRs for this repo and language
> \- \`@dependabot use these assignees\` will set the current assignees as the default for future PRs for this repo and language
> \- \`@dependabot use this milestone\` will set the current milestone as the default for future PRs for this repo and language
> 
> You can disable automated security fix PRs for this repo from the \[Security Alerts page\](https://github.com/ome/omero-iviewer/network/alerts).
> 
> \</details\>

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

Many thanks,  
Will

---

<div class="post-metadata">

**Author:** ![Alexander-Taran](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/alexander-taran/32/2308_2.png) [@Alexander-Taran](https://discourse.aurelia.io/u/Alexander-Taran)\
**Post date:** [July 11, 2022, 7:42am UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/2 "2022-07-11T07:42:32Z")

</div>

start from cleaning node\_modules and reinstalling… might be that you have doubled dependencies…

---

<div class="post-metadata">

**Author:** ![will-moore](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/will-moore/32/1503_2.png) [@will-moore](https://discourse.aurelia.io/u/will-moore)\
**Post date:** [July 21, 2022, 3:39pm UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/3 "2022-07-21T15:39:38Z")

</div>

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

```auto
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/](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](https://github.com/ome/omero-iviewer/pull/413#issuecomment-1177325278)

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.

---

<div class="post-metadata">

**Author:** ![will-moore](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/will-moore/32/1503_2.png) [@will-moore](https://discourse.aurelia.io/u/will-moore)\
**Post date:** [August 16, 2022, 4:00pm UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/4 "2022-08-16T16:00:25Z")

</div>

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:

```auto
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…

---

<div class="post-metadata">

**Author:** ![will-moore](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/will-moore/32/1503_2.png) [@will-moore](https://discourse.aurelia.io/u/will-moore)\
**Post date:** [September 13, 2022, 12:09pm UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/5 "2022-09-13T12:09:57Z")

</div>

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](https://github.com/ome/omero-iviewer/pull/422)

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](https://github.com/ome/omero-iviewer/pull/422#issuecomment-1245306001) 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

---

<div class="post-metadata">

**Author:** ![will-moore](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/will-moore/32/1503_2.png) [@will-moore](https://discourse.aurelia.io/u/will-moore)\
**Post date:** [September 13, 2022, 12:48pm UTC](https://discourse.aurelia.io/t/bindinglanguage-must-implement-inspecttextcontent-upgrade-1-1-to-1-4/4837/6 "2022-09-13T12:48:09Z")

</div>

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)…
