Blank page in IE after updating to 2.6.1

I have recently needed to update meteor to 2.6.1, since I needed to upgrade my MacBook to Monterey and I’m now on the M1 chip. Had multiple problems but figured it out myself.

Only thing that stopped working is the IE legacy build, which I unfortunately need. IE just produces a blank page, with a ton of errors in the console. I have already encountered this problem on my Windows machine after changing something with my nodejs versions, and I struggled hard to get it back working and somehow succeeded but I don’t even remember how.
The most ‘recognizable’ error in IE is a syntax error in modules.js:19257, the code there is:

Buffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) { 
    offset = offset >>> 0 validateNumber(offset, 'offset')
    const first = this[offset]
    const last = this[offset + 7]
     if (first === undefined || last === undefined) {
         boundsError(offset, this.length - 8)
     }
     const lo = first + 
         this[++offset] * 2 ** 8 +
         this[++offset] * 2 ** 16 +
         this[++offset] * 2 ** 24  

     const hi = this[++offset] +
        this[++offset] * 2 ** 8 +
        this[++offset] * 2 ** 16 +
        last * 2 ** 24
     return BigInt(lo) + (BigInt(hi) << BigInt(32))
})

This clearly shows that the legacy build is not being transpiled at all, like babel has stopped working. I had exact same error on Windows, but how I managed to fix it is still a mystery to me.
So far I have tried meteor reset, clearing $HOME/.meteor/packages (which caused even more problems), reinstalling meteor, deleting node_modules even reverted all the changes and updated the project again. Everything works but this. Even launching meteor -v --production has the same problem.
I have seen that multiple users have experienced this problem in the past, but no-one has found a specific cause for this… only thing that I can accuse is the update of meteor and update of the nodejs version that ships with it.
This is my .meteor/packages:

meteor-base@1.5.1             # Packages every Meteor app needs to have
mobile-experience@1.1.0       # Packages for a great mobile UX
mongo@1.14.6                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
jquery                  # Wrapper package for npm-installed jquery
reactive-var@1.0.11            # Reactive variable for tracker
tracker@1.2.0                 # Meteor's client-side reactive programming library

standard-minifier-css@1.7.4   # CSS minifier run for production mode
standard-minifier-js@2.8.0    # JS minifier run for production mode
es5-shim@4.8.0                # ECMAScript 5 compatibility for older browsers
ecmascript@0.16.1              # Enable ECMAScript2015+ syntax in app code
typescript@4.4.1              # Enable TypeScript syntax in .ts and .tsx modules
shell-server@0.5.0            # Server-side component of the `meteor shell` command

autopublish@1.0.7             # Publish all data to the clients (for prototyping)
insecure@1.0.7                # Allow all DB writes from clients (for prototyping)
iron:router
session@1.2.0
natestrauser:select2
ostrio:base64@3.0.0
moonco:hammer
fourseven:scss
reactive-dict@1.3.0
sinocyc:jquery-ui

And .meteor/versions:

allow-deny@1.1.1
autopublish@1.0.7
autoupdate@1.8.0
babel-compiler@7.8.1
babel-runtime@1.5.0
base64@1.0.12
binary-heap@1.0.11
blaze@2.5.0
blaze-html-templates@1.1.2
blaze-tools@1.1.0
boilerplate-generator@1.7.1
caching-compiler@1.2.2
caching-html-compiler@1.2.0
callback-hook@1.4.0
check@1.3.1
ddp@1.4.0
ddp-client@2.5.0
ddp-common@1.4.0
ddp-server@2.5.0
deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.7.2
ecmascript@0.16.1
ecmascript-runtime@0.8.0
ecmascript-runtime-client@0.12.1
ecmascript-runtime-server@0.11.0
ejson@1.1.1
es5-shim@4.8.0
fetch@0.1.1
fourseven:scss@4.15.0
geojson-utils@1.0.10
hot-code-push@1.0.4
html-tools@1.1.0
htmljs@1.1.0
id-map@1.1.1
insecure@1.0.7
inter-process-messaging@0.1.1
iron:controller@1.0.12
iron:core@1.0.11
iron:dynamic-template@1.0.12
iron:layout@1.0.12
iron:location@1.0.11
iron:middleware-stack@1.1.0
iron:router@1.1.2
iron:url@1.1.0
jquery@1.11.11
launch-screen@1.3.0
logging@1.3.1
meteor@1.10.0
meteor-base@1.5.1
minifier-css@1.6.0
minifier-js@2.7.3
minimongo@1.8.0
mobile-experience@1.1.0
mobile-status-bar@1.1.0
modern-browsers@0.1.7
modules@0.18.0
modules-runtime@0.12.0
mongo@1.14.6
mongo-decimal@0.1.2
mongo-dev-server@1.1.0
mongo-id@1.0.8
moonco:hammer@0.0.4
natestrauser:select2@4.0.3
npm-mongo@4.3.1
observe-sequence@1.0.16
ordered-dict@1.1.0
ostrio:base64@3.0.0
promise@0.12.0
random@1.2.0
react-fast-refresh@0.2.3
reactive-dict@1.3.0
reactive-var@1.0.11
reload@1.3.1
retry@1.1.0
routepolicy@1.1.1
session@1.2.0
shell-server@0.5.0
sinocyc:jquery-ui@0.0.5
socket-stream-client@0.4.0
spacebars@1.2.0
spacebars-compiler@1.2.0
standard-minifier-css@1.7.4
standard-minifier-js@2.8.0
templating@1.4.1
templating-compiler@1.4.1
templating-runtime@1.5.0
templating-tools@1.2.0
tracker@1.2.0
typescript@4.4.1
ui@1.0.13
underscore@1.0.10
webapp@1.13.1
webapp-hashing@1.1.0

Do you have any other idea how to get the legacy build to be transpiled for IE? I’m stuck with my old meteor version on a Windows machine until I figure this out, because IE support is a must for me.

Check the Meteor Changelog for any drop of support for IE

There was a drop for IE9 in v2.6.1, but I am targeting IE11 so this shouldn’t be a problem.
Im 100% sure this is not related to any drop of support but is just some kind of bug inside Meteor, as this has already happened to me on 1.10.2 and to many others. Something causes Babel to not transpile code properly for legacy build, which results in ES6 syntax being served to IE.
In my first post you can see IE is being served the exponentiation assignment operator (x**=y) which is not supported by ANY internet explorer version.

Only question is what is causing this and why… I’m starting to regret the day I made the decision to use meteor.

Same problems… all of them caused by missing Babel transpilation (that should be there because that’s why Meteor ships it’s own Babel!)
This is the console output in IE11:

HTML1300: Navigation occurred.
192.168.1.240:3000
SCRIPT1002: Syntax error
modules.js (19278,25)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
react-fast-refresh.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
babel-runtime.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
promise.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
fetch.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
dynamic-import.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
es5-shim.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
ecmascript-runtime-client.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
base64.js (17,1)
SCRIPT5007: Unable to get property 'Base64' of undefined or null reference
ejson.js (17,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
diff-sequence.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
geojson-utils.js (17,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
id-map.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
random.js (17,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
mongo-id.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
ordered-dict.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
tracker.js (17,1)
SCRIPT5007: Unable to get property 'DiffSequence' of undefined or null reference
minimongo.js (17,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
check.js (17,1)
SCRIPT5007: Unable to get property 'Random' of undefined or null reference
retry.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
callback-hook.js (17,1)
SCRIPT5007: Unable to get property 'check' of undefined or null reference
ddp-common.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
reload.js (17,1)
SCRIPT5007: Unable to get property 'Retry' of undefined or null reference
socket-stream-client.js (17,1)
SCRIPT5007: Unable to get property 'check' of undefined or null reference
ddp-client.js (17,1)
SCRIPT5007: Unable to get property 'DDP' of undefined or null reference
ddp.js (14,1)
SCRIPT5007: Unable to get property 'LocalCollection' of undefined or null reference
allow-deny.js (17,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
logging.js (17,1)
SCRIPT5007: Unable to get property 'AllowDeny' of undefined or null reference
mongo.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
jquery.js (17,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
reactive-var.js (17,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
deps.js (14,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
observe-sequence.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
htmljs.js (17,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
blaze.js (17,1)
SCRIPT5007: Unable to get property 'Blaze' of undefined or null reference
ui.js (14,1)
SCRIPT5007: Unable to get property 'ObserveSequence' of undefined or null reference
spacebars.js (17,1)
SCRIPT5007: Unable to get property 'Blaze' of undefined or null reference
templating-runtime.js (17,1)
SCRIPT5007: Unable to get property 'Template' of undefined or null reference
templating.js (14,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
iron_core.js (18,1)
SCRIPT5007: Unable to get property 'Blaze' of undefined or null reference
iron_dynamic-template.js (17,1)
SCRIPT5007: Unable to get property 'Template' of undefined or null reference
iron_layout.js (17,1)
SCRIPT5007: Unable to get property 'Iron' of undefined or null reference
iron_url.js (18,1)
SCRIPT5007: Unable to get property 'EJSON' of undefined or null reference
iron_middleware-stack.js (18,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
iron_location.js (18,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
reactive-dict.js (17,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
iron_controller.js (18,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
iron_router.js (15,1)
SCRIPT5007: Unable to get property 'ReactiveDict' of undefined or null reference
session.js (17,1)
SCRIPT5007: Unable to get property '$' of undefined or null reference
natestrauser_select2.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
ostrio_base64.js (17,1)
SCRIPT5009: 'jQuery' is undefined
moonco_hammer.js (90,9)
SCRIPT5007: Unable to get property '$' of undefined or null reference
sinocyc_jquery-ui.js (17,1)
SCRIPT5007: Unable to get property 'meteorInstall' of undefined or null reference
webapp.js (17,1)
SCRIPT5007: Unable to get property 'Tracker' of undefined or null reference
autoupdate.js (17,1)
SCRIPT5007: Unable to get property 'Mongo' of undefined or null reference
global-imports.js (3,1)
SCRIPT5009: 'meteorInstall' is undefined
app.js (1,1)

This is the output of meteor npm list

├─┬ @babel/runtime@7.16.3
│ └── regenerator-runtime@0.13.9
├─┬ css-vars-ponyfill@2.4.7
│ ├── balanced-match@1.0.2
│ └── get-css-data@2.0.2
├─┬ http-proxy@1.18.1
│ ├── eventemitter3@4.0.7
│ ├── follow-redirects@1.13.3
│ └── requires-port@1.0.0
├── jquery@3.6.0
├─┬ meteor-node-stubs@1.1.0
│ ├─┬ assert@2.0.0
│ │ ├── es6-object-assign@1.1.0
│ │ ├─┬ is-nan@1.3.2
│ │ │ ├─┬ call-bind@1.0.2
│ │ │ │ ├── function-bind@1.1.1 deduped
│ │ │ │ └─┬ get-intrinsic@1.1.1
│ │ │ │   ├── function-bind@1.1.1 deduped
│ │ │ │   ├── has@1.0.3 deduped
│ │ │ │   └── has-symbols@1.0.2 deduped
│ │ │ └─┬ define-properties@1.1.3
│ │ │   └── object-keys@1.1.1
│ │ ├─┬ object-is@1.1.5
│ │ │ ├── call-bind@1.0.2 deduped
│ │ │ └── define-properties@1.1.3 deduped
│ │ └── util@0.12.4 deduped
│ ├─┬ browserify-zlib@0.2.0
│ │ └── pako@1.0.11
│ ├─┬ buffer@6.0.3
│ │ ├── base64-js@1.5.1
│ │ └── ieee754@1.2.1
│ ├── console-browserify@1.2.0
│ ├── constants-browserify@1.0.0
│ ├─┬ crypto-browserify@3.12.0
│ │ ├─┬ browserify-cipher@1.0.1
│ │ │ ├─┬ browserify-aes@1.2.0
│ │ │ │ ├── buffer-xor@1.0.3
│ │ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ ├── evp_bytestokey@1.0.3 deduped
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ ├─┬ browserify-des@1.0.2
│ │ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ │ ├─┬ des.js@1.0.1
│ │ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ │ └── minimalistic-assert@1.0.1 deduped
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ └─┬ evp_bytestokey@1.0.3
│ │ │   ├── md5.js@1.3.5 deduped
│ │ │   └── safe-buffer@5.2.1 deduped
│ │ ├─┬ browserify-sign@4.2.1
│ │ │ ├── bn.js@5.2.0
│ │ │ ├─┬ browserify-rsa@4.1.0
│ │ │ │ ├── bn.js@5.2.0 deduped
│ │ │ │ └── randombytes@2.1.0 deduped
│ │ │ ├── create-hash@1.2.0 deduped
│ │ │ ├── create-hmac@1.1.7 deduped
│ │ │ ├── elliptic@6.5.4 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├─┬ parse-asn1@5.1.6
│ │ │ │ ├─┬ asn1.js@5.4.1
│ │ │ │ │ ├── bn.js@4.12.0
│ │ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ │ ├── minimalistic-assert@1.0.1 deduped
│ │ │ │ │ └── safer-buffer@2.1.2
│ │ │ │ ├── browserify-aes@1.2.0 deduped
│ │ │ │ ├── evp_bytestokey@1.0.3 deduped
│ │ │ │ ├── pbkdf2@3.1.2 deduped
│ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ ├── readable-stream@3.6.0 deduped
│ │ │ └── safe-buffer@5.2.1 deduped
│ │ ├─┬ create-ecdh@4.0.4
│ │ │ ├── bn.js@4.12.0
│ │ │ └── elliptic@6.5.4 deduped
│ │ ├─┬ create-hash@1.2.0
│ │ │ ├─┬ cipher-base@1.0.4
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├─┬ md5.js@1.3.5
│ │ │ │ ├─┬ hash-base@3.1.0
│ │ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ │ ├── readable-stream@3.6.0 deduped
│ │ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ └── safe-buffer@5.2.1 deduped
│ │ │ ├─┬ ripemd160@2.0.2
│ │ │ │ ├── hash-base@3.1.0 deduped
│ │ │ │ └── inherits@2.0.4 deduped
│ │ │ └─┬ sha.js@2.4.11
│ │ │   ├── inherits@2.0.4 deduped
│ │ │   └── safe-buffer@5.2.1 deduped
│ │ ├─┬ create-hmac@1.1.7
│ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ ├── create-hash@1.2.0 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── ripemd160@2.0.2 deduped
│ │ │ ├── safe-buffer@5.2.1 deduped
│ │ │ └── sha.js@2.4.11 deduped
│ │ ├─┬ diffie-hellman@5.0.3
│ │ │ ├── bn.js@4.12.0
│ │ │ ├─┬ miller-rabin@4.0.1
│ │ │ │ ├── bn.js@4.12.0
│ │ │ │ └── brorand@1.1.0 deduped
│ │ │ └── randombytes@2.1.0 deduped
│ │ ├── inherits@2.0.4
│ │ ├─┬ pbkdf2@3.1.2
│ │ │ ├── create-hash@1.2.0 deduped
│ │ │ ├── create-hmac@1.1.7 deduped
│ │ │ ├── ripemd160@2.0.2 deduped
│ │ │ ├── safe-buffer@5.2.1 deduped
│ │ │ └── sha.js@2.4.11 deduped
│ │ ├─┬ public-encrypt@4.0.3
│ │ │ ├── bn.js@4.12.0
│ │ │ ├── browserify-rsa@4.1.0 deduped
│ │ │ ├── create-hash@1.2.0 deduped
│ │ │ ├── parse-asn1@5.1.6 deduped
│ │ │ ├── randombytes@2.1.0 deduped
│ │ │ └── safe-buffer@5.2.1 deduped
│ │ ├─┬ randombytes@2.1.0
│ │ │ └── safe-buffer@5.2.1 deduped
│ │ └─┬ randomfill@1.0.4
│ │   ├── randombytes@2.1.0 deduped
│ │   └── safe-buffer@5.2.1 deduped
│ ├── domain-browser@4.19.0
│ ├─┬ elliptic@6.5.4
│ │ ├── bn.js@4.12.0
│ │ ├── brorand@1.1.0
│ │ ├─┬ hash.js@1.1.7
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ └── minimalistic-assert@1.0.1 deduped
│ │ ├─┬ hmac-drbg@1.0.1
│ │ │ ├── hash.js@1.1.7 deduped
│ │ │ ├── minimalistic-assert@1.0.1 deduped
│ │ │ └── minimalistic-crypto-utils@1.0.1 deduped
│ │ ├── inherits@2.0.4 deduped
│ │ ├── minimalistic-assert@1.0.1
│ │ └── minimalistic-crypto-utils@1.0.1
│ ├── events@3.3.0
│ ├── https-browserify@1.0.0
│ ├── os-browserify@0.3.0
│ ├── path-browserify@1.0.1
│ ├── process@0.11.10
│ ├── punycode@2.1.1
│ ├── querystring-es3@0.2.1
│ ├─┬ readable-stream@3.6.0
│ │ ├── inherits@2.0.4 deduped
│ │ ├── string_decoder@1.3.0 deduped
│ │ └── util-deprecate@1.0.2
│ ├─┬ stream-browserify@3.0.0
│ │ ├── inherits@2.0.4 deduped
│ │ └── readable-stream@3.6.0 deduped
│ ├─┬ stream-http@3.2.0
│ │ ├── builtin-status-codes@3.0.0
│ │ ├── inherits@2.0.4 deduped
│ │ ├── readable-stream@3.6.0 deduped
│ │ └── xtend@4.0.2
│ ├─┬ string_decoder@1.3.0
│ │ └── safe-buffer@5.2.1
│ ├─┬ timers-browserify@2.0.12
│ │ └── setimmediate@1.0.5
│ ├── tty-browserify@0.0.1
│ ├─┬ url@0.11.0
│ │ ├── punycode@1.3.2
│ │ └── querystring@0.2.0
│ ├─┬ util@0.12.4
│ │ ├── inherits@2.0.4 deduped
│ │ ├─┬ is-arguments@1.1.0
│ │ │ └── call-bind@1.0.2 deduped
│ │ ├── is-generator-function@1.0.9
│ │ ├─┬ is-typed-array@1.1.5
│ │ │ ├── available-typed-arrays@1.0.4
│ │ │ ├── call-bind@1.0.2 deduped
│ │ │ ├─┬ es-abstract@1.18.3
│ │ │ │ ├── call-bind@1.0.2 deduped
│ │ │ │ ├─┬ es-to-primitive@1.2.1
│ │ │ │ │ ├── is-callable@1.2.3 deduped
│ │ │ │ │ ├── is-date-object@1.0.4
│ │ │ │ │ └─┬ is-symbol@1.0.4
│ │ │ │ │   └── has-symbols@1.0.2 deduped
│ │ │ │ ├── function-bind@1.1.1 deduped
│ │ │ │ ├── get-intrinsic@1.1.1 deduped
│ │ │ │ ├─┬ has@1.0.3
│ │ │ │ │ └── function-bind@1.1.1 deduped
│ │ │ │ ├── has-symbols@1.0.2 deduped
│ │ │ │ ├── is-callable@1.2.3
│ │ │ │ ├── is-negative-zero@2.0.1
│ │ │ │ ├─┬ is-regex@1.1.3
│ │ │ │ │ ├── call-bind@1.0.2 deduped
│ │ │ │ │ └── has-symbols@1.0.2 deduped
│ │ │ │ ├── is-string@1.0.6
│ │ │ │ ├── object-inspect@1.10.3
│ │ │ │ ├── object-keys@1.1.1 deduped
│ │ │ │ ├─┬ object.assign@4.1.2
│ │ │ │ │ ├── call-bind@1.0.2 deduped
│ │ │ │ │ ├── define-properties@1.1.3 deduped
│ │ │ │ │ ├── has-symbols@1.0.2 deduped
│ │ │ │ │ └── object-keys@1.1.1 deduped
│ │ │ │ ├─┬ string.prototype.trimend@1.0.4
│ │ │ │ │ ├── call-bind@1.0.2 deduped
│ │ │ │ │ └── define-properties@1.1.3 deduped
│ │ │ │ ├─┬ string.prototype.trimstart@1.0.4
│ │ │ │ │ ├── call-bind@1.0.2 deduped
│ │ │ │ │ └── define-properties@1.1.3 deduped
│ │ │ │ └─┬ unbox-primitive@1.0.1
│ │ │ │   ├── function-bind@1.1.1 deduped
│ │ │ │   ├── has-bigints@1.0.1
│ │ │ │   ├── has-symbols@1.0.2 deduped
│ │ │ │   └─┬ which-boxed-primitive@1.0.2
│ │ │ │     ├── is-bigint@1.0.2
│ │ │ │     ├─┬ is-boolean-object@1.1.1
│ │ │ │     │ └── call-bind@1.0.2 deduped
│ │ │ │     ├── is-number-object@1.0.5
│ │ │ │     ├── is-string@1.0.6 deduped
│ │ │ │     └── is-symbol@1.0.4 deduped
│ │ │ ├── foreach@2.0.5
│ │ │ └── has-symbols@1.0.2
│ │ ├── safe-buffer@5.2.1 deduped
│ │ └─┬ which-typed-array@1.1.4
│ │   ├── available-typed-arrays@1.0.4 deduped
│ │   ├── call-bind@1.0.2 deduped
│ │   ├── es-abstract@1.18.3 deduped
│ │   ├── foreach@2.0.5 deduped
│ │   ├── function-bind@1.1.1
│ │   ├── has-symbols@1.0.2 deduped
│ │   └── is-typed-array@1.1.5 deduped
│ └── vm-browserify@1.1.2
├─┬ nicescroll@3.7.4
│ └── jquery@3.6.0 deduped
├─┬ request@2.88.2
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.10.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.8
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.2
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.3
│ │ ├── asynckit@0.4.0
│ │ ├── combined-stream@1.0.8 deduped
│ │ └── mime-types@2.1.27 deduped
│ ├─┬ har-validator@5.1.3
│ │ ├─┬ ajv@6.12.2
│ │ │ ├── fast-deep-equal@3.1.3
│ │ │ ├── fast-json-stable-stringify@2.1.0
│ │ │ ├── json-schema-traverse@0.4.1
│ │ │ └─┬ uri-js@4.2.2
│ │ │   └── punycode@2.1.1 deduped
│ │ └── har-schema@2.0.0
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── assert-plus@1.0.0 deduped
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └─┬ verror@1.10.0
│ │ │   ├── assert-plus@1.0.0 deduped
│ │ │   ├── core-util-is@1.0.2
│ │ │   └── extsprintf@1.3.0 deduped
│ │ └─┬ sshpk@1.16.1
│ │   ├─┬ asn1@0.2.4
│ │   │ └── safer-buffer@2.1.2 deduped
│ │   ├── assert-plus@1.0.0 deduped
│ │   ├─┬ bcrypt-pbkdf@1.0.2
│ │   │ └── tweetnacl@0.14.5 deduped
│ │   ├─┬ dashdash@1.14.1
│ │   │ └── assert-plus@1.0.0 deduped
│ │   ├─┬ ecc-jsbn@0.1.2
│ │   │ ├── jsbn@0.1.1 deduped
│ │   │ └── safer-buffer@2.1.2 deduped
│ │   ├─┬ getpass@0.1.7
│ │   │ └── assert-plus@1.0.0 deduped
│ │   ├── jsbn@0.1.1
│ │   ├── safer-buffer@2.1.2
│ │   └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mime-types@2.1.27
│ │ └── mime-db@1.44.0
│ ├── oauth-sign@0.9.0
│ ├── performance-now@2.1.0
│ ├── qs@6.5.2
│ ├── safe-buffer@5.2.1
│ ├─┬ tough-cookie@2.5.0
│ │ ├── psl@1.8.0
│ │ └── punycode@2.1.1
│ ├─┬ tunnel-agent@0.6.0
│ │ └── safe-buffer@5.2.1 deduped
│ └── uuid@3.4.0
├── store-js@2.0.4
└─┬ tui-calendar@1.15.1
  ├── dompurify@2.3.3
  ├── tui-code-snippet@1.5.2
  ├─┬ tui-date-picker@4.3.1
  │ └── tui-time-picker@2.1.4 deduped
  └── tui-time-picker@2.1.4

Does anyone have any idea what causes Babel to not work properly? I must get it working otherwise I’ll be stuck on old meteor 1.10.2 because that’s the only build environment I have left that is working.

Same issue here for multiple users: Error 'meteorInstall' on IE11 - #14 by sakulstra

Most of the times it was the simpl-schema package, but I don’t even have it installed…
I have tried removing the ecmascript and es5-shim packages & re-adding, clearing .meteor/versions to update packages, no help.

Also, executing meteor list has showed me that there are updates available for ecmascript and babel anyway, so I executed meteor update --all-packages and updates packages & I’m at meteor 2.7.1 now, but it didn’t change a single thing anyway. Still the same errors in IE.
Current output of meteor list:

autopublish                              1.0.7  (For prototyping only) Publish the entire database to all clients
blaze-html-templates                     1.2.1  Compile HTML templates into reactive UI with Meteor Blaze
cordova:cordova-plugin-advanced-http     3.0.0
cordova:cordova-plugin-androidx-adapter  1.1.3
cordova:cordova-plugin-device            2.0.3
cordova:cordova-plugin-inappbrowser      4.1.0
cordova:cordova-plugin-keyboard          1.2.0
cordova:cordova-plugin-qrscanner-11      3.0.3
cordova:cordova-plugin-statusbar         2.4.3
cordova:cordova-plugin-wkkeyboardfix     1.1.0
cordova:phonegap-plugin-push             https://github.com/v1934/cordova-plugin-push.git#4c79767100895ae299a3488f96b788299a30efe2
ecmascript                               0.16.2  Compiler plugin that supports ES2015+ in all .js files
es5-shim                                 4.8.0  Shims and polyfills to improve ECMAScript 5 support
fourseven:scss                           4.15.0  Style with attitude. Sass and SCSS support for Meteor.js.
insecure                                 1.0.7  (For prototyping only) Allow all database writes from the client
iron:router                              1.2.0  Routing specifically designed for Meteor
jquery                                   1.11.11* Manipulate the DOM using CSS selectors
meteor-base                              1.5.1  Packages that every Meteor app needs
mobile-experience                        1.1.0  Packages for a great mobile user experience
mongo                                    1.14.6  Adaptor for using MongoDB and Minimongo over DDP
moonco:hammer                            0.0.4  Meteor wrapper for the Hammer.js library
natestrauser:select2                     4.0.3  Select2 is a jQuery based replacement for select boxes.
ostrio:base64                            3.0.0  Efficient isomorphic Base64 implementation, with support of WebWorkers, Native code and Unicode
reactive-dict                            1.3.0  Reactive dictionary
reactive-var                             1.0.11  Reactive variable
session                                  1.2.0  Session variable
shell-server                             0.5.0  Server-side component of the `meteor shell` command.
sinocyc:jquery-ui                        0.0.5  jquery-ui 1.12.1
standard-minifier-css                    1.8.1  Standard css minifier used with Meteor apps by default.
standard-minifier-js                     2.8.0  Standard javascript minifiers used with Meteor apps by default.
tracker                                  1.2.0  Dependency tracker to allow reactive callbacks
typescript                               4.5.4  Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files

Thanks for interest…

this it the initial error, all others are just subsequental errors. You can actually try to find position (i think its line-number, row-number or vis-versa) and you see what the problem is. Its probably modern javascript syntax (const or class) that you will see there. And it will probably be in a npm package. Many packages no longer ship legacy code and these packages need to be transpiled. node_modules by default is not transpiled. Classically, you had to soft link these packages somewhere into your project to make meteor transpile them, but there might be another way now. Best look it up

Thanks for replying, I think it can also be configured in the package.json
I have actually posted the code that’s located there in the original post.
Just weird thing is that this can happen randomly, I had it previously when I used nvm to change my nodejs version temporarily, then I somehow got around it by clearing node_modules or meteor packages, but this time it’s not helping.
I’ll try to look up which package it is, I think it’s the Buffer implementation from node

I have checked the errors further and it appears the problem comes from a meteor package itself…:

node_modules/meteor-node-stubs/node_modules/buffer/index.js

For normal node_modules package, I know I can symlink them and they will get compiled, but idk about this one… it should come working straight from Meteor.
I could probably remove the whole stubs package, but I’m actually using Buffer and crypto in one place
I have tried linking the meteor-node-stubs package into imports dir but nothing changed, so I guess it won’t work for ‘internal’ meteor packages.

I found out you can do it from package.json, and got somewhere further but I’m stuck on safe-buffer again, it looks like buffer is compiled but not properly, because buffer.Buffer seems to be undefined.

"meteor": {
    "mainModule": {
      "client": "client/main.js",
      "server": "server/main.js"
    },
    "nodeModules": {
      "recompile": {
        "meteor-node-stubs": "legacy",
        "buffer": "legacy",
        "safe-buffer": "legacy"
      }
    },
    "testModule": "tests/main.js"
  }

I just get a single error now:

Cannot read property `from` of undefined

}},"safe-buffer":{"index.js":function module(require,exports,module){  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// node_modules/meteor-node-stubs/node_modules/safe-buffer/index.js
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
!function (module1) {
    /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
    /* eslint-disable node/no-deprecated-api */
    var buffer = require('buffer');
    var Buffer = buffer.Buffer; // alternative to using Object.keys for old browsers
    function copyProps(src, dst) { 
        for (var key in meteorBabelHelpers.sanitizeForInObject(src)) {
            dst[key] = src[key];
        }
    }
    /* THIS LINE -> */ if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
    module.exports = buffer; 
    } else {

My package-lock.json (couldn’t post it here due to body size limit): { "name": "myapp", "requires": true, "lockfileVersion": 1, "dependen - Pastebin.com

I’d be really thankful if anyone could help me out with this issue, it keeps me from updating meteor and I must do the web build separately on a different machine, using the newest version only for iOS builds

To be honest, I just have created a blank new project thinking I could transfer my files onto the new project if that would work, but as soon as I use Buffer in my code, for example:

import Buffer from 'buffer';
const test = Buffer.from('0a', 'hex');

I get a syntax error in IE11 when running in meteor --production, if running just meteor it doesn’t even work at all in IE even without Buffer, I can even see in the output that the legacy build is not even made. Jeez, why is getting meteor to actually work so complicated.

I have managed to get my app working on IE by totally removing the meteor-node-stubs package (and a lot of bloat that comes with it… now my app has only 18 packages instead of 170) and replacing it with crypto-js, which required recompilation too but at least it works now!
Only thing is I’m getting warnings about unresolved crypto module whenever starting the app, because crypto-js attempts to import crypto, but it works anyway.

Normal meteor startup still doesn’t produce a legacy build and doesn’t work in IE unless --production is added

1 Like

We updated our app to Meteor 2.7.1 and I’m getting reports that it has stopped working on Samsung TV and Amazon Fire Stick. The error is the Iron Router No route definitions found.

It’s working in other browsers. And worked previously on these systems using Meteor 1.10.2. Any thoughts?