* MM-53989 Upgrade to Node 18 and NPM 9 and match platform versions * fix iPad OS 17 magic keyboard loop * add engine-strict=true to npmrc * use node version from nvmrc in action