How to integrate monaco editor with electron-vue? - electron-vue

I tried the monaco samples in https://github.com/microsoft/monaco-editor/blob/main/docs/integrate-esm.md
I had some success, but when I use the electron-vue, I receive the following error:
Uncaught Error: Cannot find module 'monaco-editor'
at Module._resolveFilename (module.js:543:15)
at Function.Module._resolveFilename (E:\vue-monaco-electron\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:35:12)
at Function.Module._load (module.js:473:25)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at eval (webpack:///external_%22monaco-editor%22?:1:18)
at Object.monaco-editor (http://localhost:9080/renderer.js:1790:1)
at __webpack_require__ (http://localhost:9080/renderer.js:791:30)
at fn (http://localhost:9080/renderer.js:102:20)
at eval (webpack:///./src/renderer/components/Monaco.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options:2:71)
My package config is as follows:
"dependencies": {
"axios": "^0.18.0",
"monaco-editor": "^0.26.1",
"monaco-editor-electron": "^1.0.6",
"vue": "^2.5.16",
"vue-electron": "^1.0.6",
"vue-router": "^3.0.1",
"vuex": "^3.0.1",
"vuex-electron": "^1.0.0"
},
"devDependencies": {
"ajv": "^6.5.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.3",
"babel-loader": "^7.1.4",
"babel-minify-webpack-plugin": "^0.3.1",
"babel-plugin-istanbul": "^4.1.6",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-0": "^6.24.1",
"babel-register": "^6.26.0",
"cfonts": "^2.1.2",
"chai": "^4.1.2",
"chalk": "^2.4.1",
"copy-webpack-plugin": "^4.5.1",
"cross-env": "^5.1.6",
"css-loader": "^0.28.11",
"del": "^3.0.0",
"devtron": "^1.4.0",
"electron": "^2.0.4",
"electron-builder": "^20.19.2",
"electron-debug": "^1.5.0",
"electron-devtools-installer": "^2.2.4",
"eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^2.0.0",
"eslint-plugin-html": "^4.0.3",
"eslint-plugin-import": "^2.12.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.8.0",
"eslint-plugin-standard": "^3.1.0",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"inject-loader": "^4.0.1",
"karma": "^2.0.2",
"karma-chai": "^0.1.0",
"karma-coverage": "^1.1.2",
"karma-electron": "^6.0.0",
"karma-mocha": "^1.3.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "^0.0.32",
"karma-webpack": "^3.0.0",
"listr": "^0.14.3",
"mini-css-extract-plugin": "0.4.0",
"mocha": "^5.2.0",
"monaco-editor-webpack-plugin": "^4.1.1",
"node-loader": "^0.6.0",
"node-sass": "^4.9.2",
"require-dir": "^1.0.0",
"sass-loader": "^7.0.3",
"spectron": "^3.8.0",
"style-loader": "^0.21.0",
"url-loader": "^1.0.1",
"vue-devtools": "^5.1.4",
"vue-html-loader": "^1.2.4",
"vue-loader": "^15.2.4",
"vue-style-loader": "^4.1.0",
"vue-template-compiler": "^2.5.16",
"webpack": "^4.15.1",
"webpack-cli": "^3.0.8",
"webpack-dev-server": "^3.1.4",
"webpack-hot-middleware": "^2.22.2",
"webpack-merge": "^4.1.3"
}
The code:
<script>
import * as monaco from 'monaco-editor';
self.MonacoEnvironment = {
getWorkerUrl: function (moduleId, label) {
if (label === 'json') {
return './json.worker.bundle.js';
}
if (label === 'css' || label === 'scss' || label === 'less') {
return './css.worker.bundle.js';
}
if (label === 'html' || label === 'handlebars' || label === 'razor') {
return './html.worker.bundle.js';
}
if (label === 'typescript' || label === 'javascript') {
return './ts.worker.bundle.js';
}
return './editor.worker.bundle.js';
},
};
export default {
mounted() {
console.log(this.$refs.container);
const container = this.$refs.container;
const editor = monaco.editor.create(container, {
fontSize: 14,
language: 'html',
folding: true,
foldingStrategy: 'indentation',
automaticLayout: true,
overviewRulerBorder: false,
scrollBeyondLastLine: false,
minimap: {
enabled: false,
},
value: 'test',
lineNumbers: 'off',
});
container.style.width = '100%';
container.style.height = '800px';
console.log(editor);
},
};
</script>
webpack config in .electron-vue
let rendererConfig = {
// devtool: '#cheap-module-eval-source-map',
entry: {
renderer: path.join(__dirname, '../src/renderer/main.js'),
'editor.worker': 'monaco-editor/esm/vs/editor/editor.worker.js',
'json.worker': 'monaco-editor/esm/vs/language/json/json.worker',
'css.worker': 'monaco-editor/esm/vs/language/css/css.worker',
'html.worker': 'monaco-editor/esm/vs/language/html/html.worker',
'ts.worker': 'monaco-editor/esm/vs/language/typescript/ts.worker'
},
externals: [
...Object.keys(dependencies || {}).filter(d => !whiteListedModules.includes(d))
],
Any idea what's going on?

Related

React native iOS release EAS build crashing

I created a build with this procedure: https://docs.expo.dev/build/setup/, so another developer installed the build on his physical device and the app crashed after splash screen, so, in order to debug it, I created a release build to run on iOS simulator (as I don't have an iPhone - physical device) with this procedure: https://docs.expo.dev/build-reference/simulators/, the build succeeded and I downloaded the app and installed in on to my iOS simulator by drag-drop, the same thing happened, it crashed after splash screen (with no error logs as usual) just a Problem report for myProjectName...
Upon further investigation, I used the console in macOS and launched the app, and when the app crashed, I captured the error which was: Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'j.Constants') but now, when I searched the internet, I got nothing related to this error.
package.json:
{
"name": "social-app",
"version": "0.2.14",
"license": "UNLICENSED",
"repository": {
"type": "git",
"url": "https://github.com/MyRepo/social-app.git"
},
"scripts": {
"start": "expo start --dev-client",
"metro": "react-native start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"web": "expo start --web",
"eject": "expo eject",
"clean": "yarn cache clean",
"test": "jest --watchAll",
},
"jest": {
"preset": "jest-expo"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,jsx}": [
"eslint --ignore-path .gitignore . --fix"
]
},
"dependencies": {
"#expo-google-fonts/montserrat": "^0.2.2",
"#expo/metro-config": "^0.3.11",
"#expo/vector-icons": "^12.0.0",
"#firebase/auth-types": "^0.11.0",
"#firebase/firestore-types": "^2.5.0",
"#react-native-async-storage/async-storage": "~1.15.0",
"#react-native-community/hooks": "^2.8.1",
"#react-native-community/netinfo": "7.1.3",
"#react-native-community/progress-bar-android": "^1.0.4",
"#react-native-community/progress-view": "^1.3.1",
"#react-native-community/push-notification-ios": "^1.10.1",
"#react-native-firebase/app": "^14.5.0",
"#react-native-firebase/auth": "^14.5.1",
"#react-native-firebase/firestore": "^14.5.0",
"#react-native-firebase/functions": "^14.7.0",
"#react-native-firebase/messaging": "^14.5.0",
"#react-native-firebase/storage": "^14.7.0",
"#react-native-masked-view/masked-view": "0.2.6",
"#react-native-picker/picker": "2.2.1",
"#react-native-seoul/masonry-list": "^1.1.4",
"#react-navigation/bottom-tabs": "^6.2.0",
"#react-navigation/core": "^6.1.1",
"#react-navigation/drawer": "^6.3.1",
"#react-navigation/material-top-tabs": "^6.1.1",
"#react-navigation/native": "^6.0.8",
"#react-navigation/native-stack": "^6.6.2",
"#react-navigation/stack": "^6.1.1",
"#redux-devtools/extension": "^3.2.2",
"#segment/analytics-react-native": "^2.1.9",
"#segment/sovran-react-native": "^0.2.6",
"#sentry/react": "^6.18.1",
"#sentry/react-native": "^3.2.13",
"babel-plugin-inline-dotenv": "^1.6.0",
"buffer": "^6.0.3",
"dotenv": "^16.0.0",
"expo": ">=44.0.0-0 <45.0.0",
"expo-app-loading": "~1.3.0",
"expo-asset": "~8.4.6",
"expo-av": "~10.2.0",
"expo-camera": "~12.1.2",
"expo-constants": "~13.0.1",
"expo-contacts": "~10.1.0",
"expo-crypto": "~10.1.1",
"expo-dev-client": "~0.8.6",
"expo-device": "~4.1.0",
"expo-document-picker": "~10.1.3",
"expo-file-system": "~13.1.4",
"expo-font": "~10.0.4",
"expo-gl": "~11.1.1",
"expo-gl-cpp": "~11.1.0",
"expo-haptics": "~11.1.0",
"expo-image-manipulator": "~10.2.0",
"expo-image-picker": "~12.0.1",
"expo-intent-launcher": "~10.1.0",
"expo-linear-gradient": "~11.0.3",
"expo-media-library": "~14.0.0",
"expo-notifications": "~0.14.0",
"expo-sharing": "~10.1.0",
"expo-splash-screen": "~0.14.1",
"expo-status-bar": "~1.2.0",
"expo-updates": "~0.11.7",
"expo-video-thumbnails": "~6.1.0",
"formik": "^2.2.9",
"gl-react": "^5.0.0",
"gl-react-expo": "^5.0.0",
"libphonenumber-js": "^1.9.49",
"lodash-es": "^4.17.21",
"lottie-ios": "^3.2.3",
"lottie-react-native": "5.0.1",
"moment": "^2.29.1",
"react": "17.0.1",
"react-devtools": "^4.24.3",
"react-devtools-core": "^4.24.3",
"react-dom": "17.0.1",
"react-native": "0.64.3",
"react-native-android-keyboard-adjust": "^1.2.0",
"react-native-color-matrix-image-filters": "^5.2.10",
"react-native-device-country": "^1.0.2",
"react-native-draggable-flatlist": "^3.0.6",
"react-native-fast-image": "^8.5.11",
"react-native-fs": "^2.19.0",
"react-native-gesture-handler": "~2.1.0",
"react-native-get-random-values": "~1.7.0",
"react-native-gifted-chat": "^0.16.3",
"react-native-hide-with-keyboard": "^1.2.1",
"react-native-image-crop-picker": "^0.37.3",
"react-native-image-picker": "^4.7.3",
"react-native-image-viewing": "^0.2.2",
"react-native-keychain": "^8.0.0",
"react-native-pager-view": "5.4.9",
"react-native-paper": "^4.11.2",
"react-native-push-notification": "^8.1.1",
"react-native-reanimated": "~2.3.1",
"react-native-root-toast": "^3.3.0",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "~3.10.1",
"react-native-svg": "12.1.1",
"react-native-tab-view": "^3.1.1",
"react-native-vector-icons": "^9.1.0",
"react-native-video-processing": "^2.0.0",
"react-native-view-shot": "3.1.2",
"react-native-web": "0.17.1",
"react-native-webview": "11.15.0",
"react-redux": "^7.2.6",
"react-redux-firebase": "^3.11.0",
"realm": "^10.13.0",
"reanimated-bottom-sheet": "^1.0.0-alpha.22",
"redux": "^4.1.2",
"redux-firestore": "^1.0.0",
"sentry-expo": "^4.1.0",
"stream-chat-expo": "^4.3.1",
"yup": "^0.32.11"
},
"devDependencies": {
"#babel/core": "^7.12.9",
"#babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
"#babel/plugin-proposal-optional-chaining": "^7.16.7",
"#babel/plugin-transform-arrow-functions": "^7.16.7",
"#babel/plugin-transform-shorthand-properties": "^7.16.7",
"#babel/plugin-transform-template-literals": "^7.16.7",
"#babel/preset-typescript": "^7.16.7",
"#babel/runtime": "^7.12.5",
"#firebase/app-types": "^0.7.0",
"#react-native-community/eslint-config": "^2.0.0",
"#semantic-release/changelog": "^5.0.1",
"#semantic-release/git": "^9.0.0",
"#types/lodash-es": "^4.17.4",
"#types/react": "^17.0.21",
"#types/react-dom": "^17.0.17",
"#types/react-native": "^0.64.3",
"#types/react-native-vector-icons": "^6.4.6",
"#types/react-navigation": "^3.4.0",
"#types/react-redux": "^7.1.15",
"#types/uuid": "^8.3.0",
"#types/yup": "^0.29.11",
"babel-jest": "^26.6.3",
"babel-preset-expo": "9.0.2",
"eslint": "^7.17.0",
"eslint-config-prettier": "^7.1.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-simple-import-sort": "^7.0.0",
"husky": "^4.3.6",
"jest": "^26.6.3",
"jest-expo": "^44.0.0",
"lint-staged": "^10.5.3",
"metro-react-native-babel-preset": "^0.64.0",
"patch-package": "^6.4.7",
"postinstall-postinstall": "^2.1.0",
"prettier": "^2.2.1",
"prettier-eslint": "^15.0.0",
"react-test-renderer": "17.0.1",
"semantic-release": "^17.3.7",
"typescript": "~4.3.5"
},
"resolutions": {
"react-devtools": "4.24.3",
"react-devtools-core": "4.24.3"
},
"private": true,
"publishConfig": {
"access": "restricted"
}
}
So, can someone please help me how can I find the root cause for this? As the app is working as expected in debug mode...

React native upgrade to .69 from .64

I had to update to the most recent version of react native for my project. But no matter what iu do I can't get this error to go away on IOS ONLY. Android works fine even though this error is mostly reported as a android issue.
ERROR Invariant Violation: new NativeEventEmitter() requires a non-null argument.
I have updated every package that is possible cleared all caches etc etc.
Here is the package list.
"dependencies": {
"#babel/preset-env": "^7.1.6",
"#freakycoder/react-native-helpers": "^1.0.2",
"#react-native-async-storage/async-storage": "^1.17.8",
"#react-native-community/clipboard": "^1.5.1",
"#react-native-community/masked-view": "^0.1.11",
"#react-native-community/push-notification-ios": "^1.10.1",
"#react-native-community/toolbar-android": "git+https://github.com/react-native-toolbar-android/toolbar-android.git#master",
"#react-native-picker/picker": "^2.4.3",
"#react-navigation/bottom-tabs": "^6.3.2",
"#react-navigation/elements": "^1.3.4",
"#react-navigation/routers": "^6.1.1",
"#react-navigation/stack": "^6.2.2",
"#rneui/base": "^4.0.0-rc.6",
"#rneui/themed": "^4.0.0-rc.6",
"#sentry/react-native": "^5.0.0-alpha.1",
"#sergiorj/react-native-snap-carousel": "^4.0.1",
"axios": "^0.27.2",
"babel-preset-react-native": "^4.0.1",
"date-fns": "^2.29.1",
"fs": "0.0.1-security",
"gulp": "^4.0.2",
"gulp-clean": "^0.4.0",
"gulp-rename": "^2.0.0",
"gulp-sym": "^1.0.2",
"lodash": "^4.17.20",
"main": "^1000.0.1",
"os": "^0.1.2",
"path": "^0.12.7",
"react": "18.0.0",
"react-addons-shallow-compare": "^15.6.3",
"react-native": "0.69.3",
"react-native-awesome-alerts": "^2.0.0",
"react-native-camera": "^4.2.1",
"react-native-charts-wrapper": "^0.5.9",
"react-native-clean-project": "^4.0.1",
"react-native-codegen": "^0.71.0",
"react-native-config": "^1.4.6",
"react-native-copilot": "^2.5.1",
"react-native-crypto": "^2.2.0",
"react-native-datepicker": "^1.7.2",
"react-native-default-preference": "^1.4.4",
"react-native-device-info": "^10.0.2",
"react-native-dotenv": "^3.3.1",
"react-native-dynamic-vector-icons": "^1.2.0",
"react-native-fast-image": "^8.5.11",
"react-native-geolocation-service": "^5.3.0",
"react-native-get-random-values": "^1.8.0",
"react-native-image-slider-box": "^1.1.24",
"react-native-improved-text-input": "0.0.1",
"react-native-inappbrowser-reborn": "^3.7.0",
"react-native-maps": "^1.2.0",
"react-native-modal": "^13.0.1",
"react-native-permissions": "^3.6.0",
"react-native-push-notification": "^8.1.1",
"react-native-qrcode-scanner": "^1.5.5",
"react-native-randombytes": "^3.6.1",
"react-native-reanimated": "^2.9.1",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.15.0",
"react-native-shared-preferences": "^1.0.2",
"react-native-spinkit": "^1.5.1",
"react-native-splash-screen": "^3.3.0",
"react-native-svg": "^12.4.3",
"react-native-swipe-gestures": "git+https://github.com/wymsee/react-native-swipe-gestures.git#master",
"react-native-tracking-transparency": "^0.1.1",
"react-native-url-polyfill": "^1.3.0",
"react-native-vector-icons": "^9.2.0",
"react-native-webview": "^11.23.0",
"react-style-proptype": "^3.2.2",
"typescript": "^4.7.4",
"uuid": "^7.0.3"
},
"devDependencies": {
"#babel/core": "^7.18.10",
"#babel/runtime": "^7.18.9",
"#react-native-community/eslint-config": "^2.0.0",
"#react-navigation/native": "^6.0.11",
"babel-jest": "^26.6.3",
"babel-plugin-module-resolver": "^4.1.0",
"deprecated-react-native-prop-types": "^2.3.0",
"eslint": "^7.32.0",
"jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.70.3",
"patch-package": "^6.4.7",
"platform": "^1.3.5",
"prettier": "2.4.1",
"prop-types": "^15.8.1",
"react-native-gesture-handler": "^2.5.0",
"react-test-renderer": "18.0.0",
"shelljs": "^0.8.5",
"yargs": "^17.5.1"
},
"jest": {
"preset": "react-native"
}

Docker image failed with caniuse-lite is outdated error

Failed to create an image on the staging server with the below error.
Browserslist: caniuse-lite is outdated. Please run next command yarn upgrade caniuse-lite browserslist
Here is my package.json
{
"scripts": {
"start": "webpack-dev-server --host=0.0.0.0 --content-base=public",
"jest": "jest --no-cache --runInBand",
"lint": "eslint .",
"test": "yarn lint && yarn flow && yarn jest",
"fix": "eslint . --fix"
},
"dependencies": {
"#babel/core": "^7.1.6",
"#babel/plugin-proposal-class-properties": "^7.1.0",
"#babel/plugin-proposal-json-strings": "^7.0.0",
"#babel/plugin-syntax-dynamic-import": "^7.0.0",
"#babel/plugin-syntax-import-meta": "^7.0.0",
"#babel/polyfill": "^7.0.0",
"#babel/preset-env": "^7.1.6",
"#babel/preset-flow": "^7.0.0",
"#babel/preset-react": "^7.0.0",
"axios": "^0.18.0",
"babel-loader": "^8.0.4",
"bluebird": "^3.5.3",
"circle-to-polygon": "^1.0.2",
"classnames": "^2.2.6",
"color-rgba": "^2.1.0",
"css-loader": "^1.0.1",
"eskape": "^1.2.0",
"flow-bin": "^0.89.0",
"flow-typed": "^2.5.1",
"fuse.js": "^3.4.2",
"highcharts": "^7.0.0",
"highcharts-react-official": "^2.0.0",
"informed": "^1.10.12",
"json-loader": "^0.5.7",
"lodash": "^4.17.11",
"mapbox-gl": "^0.53.0-beta.1",
"mixpanel-browser": "^2.26.0",
"moment": "^2.23.0",
"node-sass": "^4.14.1",
"normalize.css": "^8.0.1",
"prop-types": "^15.6.2",
"react": "^16.6.3",
"react-aria-menubutton": "^6.1.0",
"react-color": "^2.17.0",
"react-dom": "^16.6.3",
"react-ga": "^2.5.6",
"react-helmet": "^5.2.0",
"react-map-gl": "^4.0.8",
"react-portal": "^4.2.0",
"react-redux": "^6.0.0",
"react-router-dom": "^4.3.1",
"react-table": "^6.8.6",
"redux": "^4.0.1",
"redux-devtools-extension": "^2.13.7",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"svg-react-loader": "^0.4.6",
"uid-safe": "^2.1.5",
"webpack": "^4.26.1",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.10",
"yaml-loader": "^0.5.0"
},
"devDependencies": {
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^23.6.0",
"babel-polyfill": "^6.26.0",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.7.1",
"eslint": "^5.9.0",
"eslint-config-prettier": "^3.3.0",
"eslint-config-standard": "^12.0.0",
"eslint-config-standard-react": "^7.0.2",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jest": "^22.1.0",
"eslint-plugin-node": "^8.0.0",
"eslint-plugin-prettier": "^3.0.0",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-react": "^7.11.1",
"eslint-plugin-standard": "^4.0.0",
"expect": "^23.6.0",
"file-loader": "^3.0.1",
"identity-obj-proxy": "^3.0.0",
"jest": "^23.6.0",
"lodash-match-pattern": "^2.0.1",
"prettier": "^1.15.2",
"sinon": "^7.2.2",
"yaml-jest": "^1.0.5"
},
"license": "UNLICENSED",
"private": true
}
I am new to docker and don't know how to resolve this error.
The project is on Reactjs, recently I have updated the node-saas version to 4.14.1 and after that, I am facing this error.

React Native ios build - modifying a file in a node_modules package

I am getting the following error during an ios build for a file that belongs to a node_modules package:
bundling failed: SyntaxError:
/Users/user148634/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/node_modules/react-native/Libraries/Components/Switch/Switch.js:
Support for the experimental syntax 'nullishCoalescingOperator' isn't
currently enabled (167:52):
According to this message, the file is in the following path:
node_modules/react-native/node_modules/react-native/Libraries/Components/Switch/Switch.js
However, I can see the file in the following path:
node_modules/react-native/Libraries/Components/Switch/Switch.js
(the folder node_modules/react-native/node_modules/react-native does not exist).
I tried to modify node_modules/react-native/Libraries/Components/Switch/Switch.js but it doesn't have any effect and I get the same error during build.
Any idea why a non-existent path is displayed? Any idea how I modify the file so that it affects the build?
Here is my package.json file:
{
"name": "newapp",
"version": "0.0.2",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest --verbose --coverage",
"test:update": "jest --verbose --coverage --updateSnapshot",
"test:watch": "jest --verbose --watch",
"coverage": "jest --verbose --coverage && xdg-open ./coverage/lcov-report/index.html",
"lint": "npx eslint --fix ./src/*"
},
"dependencies": {
"adm-zip": "^0.4.13",
"apollo-boost": "0.1.17",
"axios": "^0.18.0",
"babel": "^6.23.0",
"buffer": "5.1.0",
"cross-fetch": "^3.0.0",
"enzyme": "^3.3.0",
"fastfall": "^1.5.1",
"got": "^9.5.1",
"graphql": "0.13.2",
"graphql-tag": "2.10.0",
"jasmine-react-helpers": "^0.2.2",
"link": "^0.1.5",
"lodash": "4.17.5",
"moment": "2.21.0",
"plist": "^3.0.1",
"query-string": "^6.1.0",
"react": "16.2.0",
"react-addons-test-utils": "^15.6.2",
"react-apollo": "2.2.4",
"react-dom": "^16.7.0",
"react-native": "^0.57.0",
"react-native-elements": "0.19.0",
"react-native-fabric": "^0.5.2",
"react-native-fbsdk": "^0.6.3",
"react-native-htmlview": "^0.12.1",
"react-native-link-preview": "^1.3.5",
"react-native-login": "^0.0.1-alpha.2",
"react-native-login-keycloak": "^1.0.2",
"react-native-onesignal": "3.2.6",
"react-native-push-notification": "https://github.com/Dhanraj-bidchat/react-native-push-notification.git",
"react-native-sleek-loading-indicator": "^0.1.3",
"react-native-spinkit": "^1.1.1",
"react-native-svg": "6.2.2",
"react-native-swipe-cards": "^0.1.1",
"react-native-swiper": "1.5.13",
"react-native-vector-icons": "4.5.0",
"react-navigation": "1.5.6",
"react-redux": "5.0.7",
"redux": "^3.7.2",
"redux-logger": "^3.0.6",
"redux-persist": "5.9.1",
"redux-thunk": "^2.2.0",
"victory-native": "0.17.2",
"whatwg-fetch": "2.0.4",
"xcode": "^1.1.0"
},
"devDependencies": {
"#babel/plugin-proposal-optional-chaining": "^7.2.0",
"babel-eslint": "^8.2.3",
"babel-jest": "^22.4.4",
"babel-plugin-dynamic-import-node": "^1.2.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
"babel-preset-env": "^1.7.0",
"babel-preset-react-native": "5.0.0",
"enzyme-adapter-react-16": "^1.1.1",
"enzyme-to-json": "^3.3.4",
"eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0",
"eslint-plugin-import": "^2.12.0",
"eslint-plugin-jest": "^21.17.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-only-warn": "^1.0.1",
"eslint-plugin-promise": "^3.8.0",
"eslint-plugin-react": "^7.9.1",
"eslint-plugin-standard": "^3.1.0",
"jest": "^23.5.0",
"jest-resolve": "^23.0.0",
"jest-serializer-enzyme": "^1.0.0",
"react-native-mock-render": "^0.0.26",
"react-test-renderer": "^16.3.2",
"redux-mock-store": "^1.5.1",
"sinon": "^5.0.10"
},
"jest": {
"preset": "react-native",
"setupFiles": [
"./jest-setup.js"
],
"snapshotSerializers": [
"enzyme-to-json/serializer"
],
"modulePaths": [
"<rootDir>/src",
"<rootDir>/node_modules"
],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.jsx?$": "babel-jest"
},
"transformIgnorePatterns": [
"node_modules/(?!(react-native-safe-area-view|react-navigation|react-native-htmlview|react-native-fabric|react-native-login|react-native-elements|react-native-vector-icons|react-native-spinkit|victory-pie|victory-chart|victory-core|react-native-svg|react-native|redux-persist|victory-native|react-native-swipe-cards|react-native-swiper)/)"
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/assetsTransformer.js",
"\\.(css|less)$": "<rootDir>/assetsTransformer.js"
}
}
}
change .babelrc to
{
"presets": ["module:metro-react-native-babel-preset"]
}

Ionic keyboard overlay content

I have a question when I click to input, keyboard open and overlay bottom of the content. Earlier I had used ionic-plugins-keyboard, but after entering ios12 this plugin doesn't want work.
"dependencies": {
"cordova-android": "^7.1.1",
"cordova-custom-config": "^5.0.2",
"cordova-ios": "^4.5.5",
"cordova-plugin-actionsheet": "~2.3.3",
"cordova-plugin-app-version": "git+https://github.com/whiteoctober/cordova-plugin-app-version.git",
"cordova-plugin-camera": "~2.3.0",
"cordova-plugin-console": "~1.1.0",
"cordova-plugin-crosswalk-webview": "^2.3.0",
"cordova-plugin-datepicker": "~0.9.3",
"cordova-plugin-device": "~1.1.3",
"cordova-plugin-facebook4": "~1.7.4",
"cordova-plugin-file-transfer": "~1.6.0",
"cordova-plugin-geolocation": "~4.0.1",
"cordova-plugin-googleplus": "git+https://github.com/EddyVerbruggen/cordova-plugin-googleplus.git",
"cordova-plugin-inappbrowser": "~2.0.2",
"cordova-plugin-inapppurchase": "~1.1.0",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^2.2.0",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "git+https://github.com/apache/cordova-plugin-statusbar.git",
"cordova-plugin-toast": "~1.0.1",
"cordova-plugin-whitelist": "~1.3.0",
"cordova-plugin-x-socialsharing": "~5.3.2",
"gulp-angular-templatecache": "^2.2.0",
"gulp-html-minifier": "^0.1.8",
"gulp-htmlmin": "^4.0.0",
"lodash._escapehtmlchar": "^2.4.1",
"lodash.defaults": "^4.2.0",
"phonegap-plugin-push": "~2.2.3"
},
"devDependencies": {
"#ionic/cli-plugin-gulp": "1.0.2",
"#ionic/cli-plugin-ionic1": "2.0.1",
"bower": "^1.3.3",
"del": "^2.2.0",
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-if": "^2.0.0",
"gulp-imagemin": "^4.1.0",
"gulp-inject": "^3.0.0",
"gulp-jscs": "^3.0.2",
"gulp-jshint": "^2.0.0",
"gulp-load-plugins": "^1.1.0",
"gulp-minify-css": "^0.3.13",
"gulp-print": "^2.0.1",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.1.1",
"gulp-tsc": "^1.1.4",
"gulp-util": "^2.2.14",
"jshint": "^2.8.0",
"jshint-stylish": "^2.1.0",
"jspm": "^0.16.46",
"shelljs": "^0.3.0",
"wiredep": "^2.2.2",
"yargs": "^3.31.0"
}
This issues on ios 11 and ios 12, earlier versions I was not checked.
I found the problem, this happened because ion-content position: absolute, I fixed it by position: relative.

Resources