From 1e979b57bb0bd7e4a0abb496cc68e7aa48785396 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 7 Oct 2020 10:51:44 +0200 Subject: [PATCH] MOBILE-3565 core: Install ionic-native and other 3rd party libs --- package-lock.json | 193 ++++++++++++++++++++++- package.json | 27 +++- src/app/core/emulator/emulator.module.ts | 36 +++++ tsconfig.app.json | 6 +- tsconfig.json | 2 + 5 files changed, 258 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index c4d4cf893..8aa9032ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1594,6 +1594,14 @@ "minimist": "^1.2.0" } }, + "@ionic-native/clipboard": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/clipboard/-/clipboard-5.28.0.tgz", + "integrity": "sha512-RrnssToxCM0oWcDmrkzhac98+Z8BmUiWI7ME1qIdHqL2MB6sdU+a9es0vSVv2bWIdd19xdwXDTp0j97OSCSACg==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, "@ionic-native/core": { "version": "5.28.0", "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.28.0.tgz", @@ -1602,6 +1610,132 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/device": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-5.28.0.tgz", + "integrity": "sha512-9uPnXz4McQnrEDjGLRUJg133maPCDMRjpXSMJmeO2pizKTeeQGadfp63EDUPDCromBXzkhF7GqDxDbPCgP3TWg==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } + }, + "@ionic-native/diagnostic": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/diagnostic/-/diagnostic-5.28.0.tgz", + "integrity": "sha512-Xw4+aYp8A0VFQMv4FIeggioBrB2giXXlXy2BwU69Is4vb5HZGx6bR49EM/cw7C4ar2biLtyZBdawgTWvT3Nt9w==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/file": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.28.0.tgz", + "integrity": "sha512-8Luf0uY/RX/JAzMDDYk1oWyUJ4u0JmC334HQJjFeKRouBn1AV1Zge8ODQbMhOHHpyJz2zHHRc+cZlSNv6FKd/A==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/file-opener": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-opener/-/file-opener-5.28.0.tgz", + "integrity": "sha512-oQTfkLH5gnfDZ8TELzhy/iyYzChBKXS78/N0wQ0lB7Xe4rkJnD9J9A6dtGksIWNcEt22jOre5YgboA/mMjyh5g==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/file-transfer": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-5.28.0.tgz", + "integrity": "sha512-f+BgasUIVXA1vvdl7VocEuQugVPb1WO1fv7YM/NNRZ1Mf+Ry/wdByXm3vXUzBgggy96IShtqhIPeXpl081ZtLA==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/geolocation": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.28.0.tgz", + "integrity": "sha512-SwzZdLhcX8aZ2oV5yInGDaCYkTV/bQMPuv5Ug1HC6kPj11BnMmHWcHdhIpXaxBYz5rtadkZJEsJRmWnFnBE3YQ==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/globalization": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-5.28.0.tgz", + "integrity": "sha512-+L/svbUNnJgbeUs70G7vdRUjqWPIB2gOtUiCo7jr6BWsPqfw7iNjBF15ZjGLcbkzRIRd3wezTgPInbpqHDIWow==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/http": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/http/-/http-5.28.0.tgz", + "integrity": "sha512-b8mmUw8GIAMdbH3Ycnz8tp2vFcVO59u1a3pVcJQ2l1fttFxsAGHTM8xSyeeZPvG+tiMoSCRGCiVelG3vvVltXA==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } + }, + "@ionic-native/in-app-browser": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.28.0.tgz", + "integrity": "sha512-HxzfbbybYv8xGnS1CvCAKyRuQ9aQ7QDcA0nnRspgmDD+hU196rUzvS2F0Lnhm9G9j9+952ypgFL2ftCcpvUVxg==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/keyboard": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-5.28.0.tgz", + "integrity": "sha512-qoTm/PClwANP08TFbEMye6z6ocEorfNZlkxOZq7cjUV2Vd2oCNOYMfT7saNUnsyv2pDlBgxs/x8XE2EDVd33qQ==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/local-notifications": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/local-notifications/-/local-notifications-5.28.0.tgz", + "integrity": "sha512-cJDlRbYG+r1kzFEJEu7yU9kMgyWeh/K1cdGE4n6ff9I+Dcp9pBsL5owGnNj/4dg88pErHUmPzhbvzwbnuWvzbQ==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/network": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/network/-/network-5.28.0.tgz", + "integrity": "sha512-tkYCJd9R2t2gTo+0Ds2zyOgDjggbL7lZFWJ/MN7K3KIuSLRLvfsob0IC9hblY3giwP1kPTBi62KhjcBXtotHQg==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/push": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-5.28.0.tgz", + "integrity": "sha512-vF6oxtZpJylv2PxGHKzBR/OIZhp2p4wEmWyaDNMdT2xiv6goXHvLnuSnGko5alvZqCo8qxWjYirrvLk4vzWz7g==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/qr-scanner": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/qr-scanner/-/qr-scanner-5.28.0.tgz", + "integrity": "sha512-TRWO/e7HsSyLtQ+ucOmBT03bnBEVz9xNLIY0TcWrkItQ4RIvtH+NW66BNJ27TVQim4/F4ToB2dkD6VSQz6BRVQ==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, "@ionic-native/splash-screen": { "version": "5.28.0", "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.28.0.tgz", @@ -1610,6 +1744,14 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/sqlite": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/sqlite/-/sqlite-5.28.0.tgz", + "integrity": "sha512-tDanTJmBwkb2UlH9vjZJKVtOyTD9TcQBjkk1oMh8PMsTdWlUVo4hrojMrL9K03X59Z8oQE0aX1C/K/3RPCPdOw==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, "@ionic-native/status-bar": { "version": "5.28.0", "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.28.0.tgz", @@ -1618,6 +1760,22 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/web-intent": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/web-intent/-/web-intent-5.28.0.tgz", + "integrity": "sha512-2uZKsSmoRj5s73fln3nXDs7unazrDux7h1UcrxhlUa2qI20LML/Ye3/ZFc5Wy8GB+mQOwQtJjTQPT6Gpl4fQTw==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, + "@ionic-native/zip": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@ionic-native/zip/-/zip-5.28.0.tgz", + "integrity": "sha512-K5I0TSwCEW1XrdrD3x8NjJbheWD5AEMEzRWLqVvO7IKbuDySRuINW4h6fzOWgrpiP11uNW7r2mMUqBt0TNeEPw==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, "@ionic/angular": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.3.4.tgz", @@ -2302,6 +2460,22 @@ "webpack-sources": "1.4.3" } }, + "@ngx-translate/core": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-13.0.0.tgz", + "integrity": "sha512-+tzEp8wlqEnw0Gc7jtVRAJ6RteUjXw6JJR4O65KlnxOmJrCGPI0xjV/lKRnQeU0w4i96PQs/jtpL921Wrb7PWg==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ngx-translate/http-loader": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-6.0.0.tgz", + "integrity": "sha512-LCekn6qCbeXWlhESCxU1rAbZz33WzDG0lI7Ig0pYC1o5YxJWrkU9y3Y4tNi+jakQ7R6YhTR2D3ox6APxDtA0wA==", + "requires": { + "tslib": "^2.0.0" + } + }, "@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -2446,6 +2620,14 @@ "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" }, + "@types/cordova-plugin-file-transfer": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@types/cordova-plugin-file-transfer/-/cordova-plugin-file-transfer-1.6.2.tgz", + "integrity": "sha512-jWZQefyVn/GiQAdummRoY1v5cUY4dT7GNk3Hg40iUtL68y40jKWD3ALAtMM4pnYt9RSMTlsgs1I7/apXexddvw==", + "requires": { + "cordova-plugin-file-transfer": "*" + } + }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -2627,9 +2809,9 @@ "dev": true }, "@types/node": { - "version": "12.12.62", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.62.tgz", - "integrity": "sha512-qAfo81CsD7yQIM9mVyh6B/U47li5g7cfpVQEDMfQeF8pSZVwzbhwU3crc0qG4DmpsebpJPR49AKOExQyJ05Cpg==", + "version": "12.12.64", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.64.tgz", + "integrity": "sha512-UV1/ZJMC+HcP902wWdpC43cAcGu0IQk/I5bXjP2aSuCjsk3cE74mDvFrLKga7oDC170ugOAYBwfT4DSQW3akDA==", "dev": true }, "@types/prettier": { @@ -16261,6 +16443,11 @@ } } }, + "ts-md5": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-1.2.7.tgz", + "integrity": "sha512-emODogvKGWi1KO1l9c6YxLMBn6CEH3VrH5mVPIyOtxBG52BvV4jP3GWz6bOZCz61nLgBc3ffQYE4+EHfCD+V7w==" + }, "ts-node": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", diff --git a/package.json b/package.json index 5204a13f4..3ee2ea947 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,32 @@ "@angular/platform-browser": "~10.0.0", "@angular/platform-browser-dynamic": "~10.0.0", "@angular/router": "~10.0.0", + "@ionic-native/clipboard": "^5.28.0", "@ionic-native/core": "^5.0.0", + "@ionic-native/device": "^5.28.0", + "@ionic-native/diagnostic": "^5.28.0", + "@ionic-native/file": "^5.28.0", + "@ionic-native/file-opener": "^5.28.0", + "@ionic-native/file-transfer": "^5.28.0", + "@ionic-native/geolocation": "^5.28.0", + "@ionic-native/globalization": "^5.28.0", + "@ionic-native/http": "^5.28.0", + "@ionic-native/in-app-browser": "^5.28.0", + "@ionic-native/keyboard": "^5.28.0", + "@ionic-native/local-notifications": "^5.28.0", + "@ionic-native/network": "^5.28.0", + "@ionic-native/push": "^5.28.0", + "@ionic-native/qr-scanner": "^5.28.0", "@ionic-native/splash-screen": "^5.28.0", + "@ionic-native/sqlite": "^5.28.0", "@ionic-native/status-bar": "^5.0.0", + "@ionic-native/web-intent": "^5.28.0", + "@ionic-native/zip": "^5.28.0", "@ionic/angular": "^5.0.0", + "@ngx-translate/core": "^13.0.0", + "@ngx-translate/http-loader": "^6.0.0", + "@types/cordova": "0.0.34", + "@types/cordova-plugin-file-transfer": "^1.6.2", "com-darryncampbell-cordova-plugin-intent": "^2.0.0", "cordova": "^10.0.0", "cordova-android": "^8.1.0", @@ -80,6 +102,7 @@ "phonegap-plugin-multidex": "^1.0.0", "phonegap-plugin-push": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3", "rxjs": "~6.5.5", + "ts-md5": "^1.2.7", "tslib": "^2.0.0", "zone.js": "~0.10.3" }, @@ -91,7 +114,7 @@ "@angular/compiler-cli": "~10.0.0", "@angular/language-service": "~10.0.0", "@ionic/angular-toolkit": "^2.3.0", - "@types/node": "^12.11.1", + "@types/node": "^12.12.64", "codelyzer": "^6.0.0", "jest": "^26.5.0", "jest-preset-angular": "^8.3.1", @@ -165,4 +188,4 @@ "cordova-plugin-file-transfer": {} } } -} \ No newline at end of file +} diff --git a/src/app/core/emulator/emulator.module.ts b/src/app/core/emulator/emulator.module.ts index 7c214c233..822eb2b77 100644 --- a/src/app/core/emulator/emulator.module.ts +++ b/src/app/core/emulator/emulator.module.ts @@ -15,7 +15,25 @@ import { NgModule } from '@angular/core'; // Ionic Native services. +import { Clipboard } from '@ionic-native/clipboard/ngx'; +import { Device } from '@ionic-native/device/ngx'; +import { Diagnostic } from '@ionic-native/diagnostic/ngx'; +import { File } from '@ionic-native/file/ngx'; +import { FileOpener } from '@ionic-native/file-opener/ngx'; +import { FileTransfer } from '@ionic-native/file-transfer/ngx'; +import { Geolocation } from '@ionic-native/geolocation/ngx'; +import { Globalization } from '@ionic-native/globalization/ngx'; +import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; +import { Keyboard } from '@ionic-native/keyboard/ngx'; +import { LocalNotifications } from '@ionic-native/local-notifications/ngx'; +import { Network } from '@ionic-native/network/ngx'; +import { Push } from '@ionic-native/push/ngx'; +import { QRScanner } from '@ionic-native/qr-scanner/ngx'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; +import { SQLite } from '@ionic-native/sqlite/ngx'; +import { StatusBar } from '@ionic-native/status-bar/ngx'; +import { WebIntent } from '@ionic-native/web-intent/ngx'; +import { Zip } from '@ionic-native/zip/ngx'; /** * This module handles the emulation of Cordova plugins in browser and desktop. @@ -32,7 +50,25 @@ import { SplashScreen } from '@ionic-native/splash-screen/ngx'; imports: [ ], providers: [ + Clipboard, + Device, + Diagnostic, + File, + FileOpener, + FileTransfer, + Geolocation, + Globalization, + InAppBrowser, + Keyboard, + LocalNotifications, + Network, + Push, + QRScanner, SplashScreen, + SQLite, + StatusBar, + WebIntent, + Zip, ] }) export class CoreEmulatorModule { } diff --git a/tsconfig.app.json b/tsconfig.app.json index 765ce20b4..fbd55f0be 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -2,7 +2,11 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/app", - "types": [], + "types": [ + "cordova", + "cordova-plugin-file-transfer", + "node" + ], "paths": { "@/*": ["*"], "@addon/*": ["app/addon/*"], diff --git a/tsconfig.json b/tsconfig.json index e565c3962..8c35fe279 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,8 @@ "moduleResolution": "node", "importHelpers": true, "target": "es2015", + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, "lib": [ "es2018", "dom"