Skip to content

Instantly share code, notes, and snippets.

@dmastag
Created November 9, 2017 15:59
Show Gist options
  • Save dmastag/2ab9c2b34d25ecc269de4cc41c25dc6f to your computer and use it in GitHub Desktop.
Save dmastag/2ab9c2b34d25ecc269de4cc41c25dc6f to your computer and use it in GitHub Desktop.
App Module for webpack 3.8.1 issues
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { MomentModule } from 'angular2-moment';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { LazyLoadImageModule } from 'ng-lazyload-image';
/**
* Native
*/
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { AppVersion } from '@ionic-native/app-version';
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
import { Calendar } from '@ionic-native/calendar';
import { Camera } from '@ionic-native/camera';
import { Diagnostic } from '@ionic-native/diagnostic';
import { FileOpener } from '@ionic-native/file-opener';
import { Geolocation } from '@ionic-native/geolocation';
import { OneSignal } from '@ionic-native/onesignal';
import { FileTransfer } from '@ionic-native/file-transfer';
import { Network } from '@ionic-native/network';
import { ImagePicker } from '@ionic-native/image-picker';
import { LocalNotifications } from '@ionic-native/local-notifications';
import { File } from '@ionic-native/file';
import { PhotoViewer } from '@ionic-native/photo-viewer';
import { LaunchReview } from '@ionic-native/launch-review';
import { ScreenOrientation } from '@ionic-native/screen-orientation';
import { AndroidPermissions } from '@ionic-native/android-permissions';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { Device } from '@ionic-native/device';
/**
* Providers
*/
import { GoogleMapsProvider } from '../providers/google-maps/google-maps-provider';
import { GoogleMaps } from '../providers/google-maps/google-maps';
import { ConnectivityProvider } from '../providers/connectivity/connectivity';
import { GoogleMapsClusterProvider } from '../providers/google-maps-cluster/google-maps-cluster';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, 'assets/i18n/', '.json');
}
import 'intl';
import 'intl/locale-data/jsonp/en';
// components, filters
import { ChartsModule } from 'ng2-charts';
import { SDKBrowserModule } from '../shared/sdk/index';
import { IonicStorageModule } from '@ionic/storage';
import { HttpModule } from '@angular/http';
import { AlertServiceProvider } from '../providers/alert-service/alert-service';
import { ToastServiceProvider } from '../providers/toast-service/toast.service';
import { QRCodeModule } from '../providers/angular2-qrcode/angular2-qrcode';
import { EmpInfoService } from '../providers/emp-info.service/emp-info.service';
import { SFGOAuthService } from '../providers/sfgoauth.service/sfgoauth.service';
import { StartEndService } from '../providers/start-end-date.service/start-end-date.service';
import { Sha1Service } from '../providers/secrypt';
import { ValidationService } from '../providers/validation.service';
import { AvatarProvider } from '../providers/avatar/avatar';
import { PermissionCheckProvider } from "../providers/permission-check/permission-check";
import { StoragePathProvider } from "../providers/storage-path/storage-path";
import { SearchEmployeeProvider } from '../providers/search-employee/search-employee';
import { KumpulKumpulProvider } from '../providers/kumpul-kumpul/kumpul-kumpul';
import { CurrencyFormatterProvider } from "../providers/currency-formatter/currency-formatter";
@NgModule({
declarations: [
MyApp // Harusnya tidak ada Component / Pipe / Page lagi disini, gunakan Lazy Load. Hubungi Julian/Bayu jika ada pertanyaan
],
imports: [
HttpModule,
BrowserModule,
BrowserAnimationsModule,
ChartsModule,
MomentModule,
QRCodeModule,
LazyLoadImageModule,
IonicModule.forRoot(MyApp),
SDKBrowserModule.forRoot(),
IonicStorageModule.forRoot(),
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
],
bootstrap: [IonicApp],
entryComponents: [
MyApp, // Harusnya tidak ada Component / Pipe / Page lagi disini, gunakan Lazy Load. Hubungi Julian/Bayu jika ada pertanyaan
],
providers: [
AppVersion,
BarcodeScanner,
Calendar,
Camera,
ConnectivityProvider,
Diagnostic,
File,
FileOpener,
Geolocation,
GoogleMaps,
GoogleMapsClusterProvider,
GoogleMapsProvider,
ImagePicker,
LaunchReview,
LocalNotifications,
AndroidPermissions,
Network,
OneSignal,
PhotoViewer,
SplashScreen,
StatusBar,
FileTransfer,
{ provide: ErrorHandler, useClass: IonicErrorHandler },
AlertServiceProvider,
ToastServiceProvider,
EmpInfoService,
SFGOAuthService,
StartEndService,
Sha1Service,
ValidationService,
AvatarProvider,
ScreenOrientation,
PermissionCheckProvider,
StoragePathProvider,
SearchEmployeeProvider,
Device,
InAppBrowser,
KumpulKumpulProvider,
CurrencyFormatterProvider
]
})
export class AppModule { }
{
"name": "",
"author": "",
"homepage": "",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve",
"build:ios": "node --max-old-space-size=4096 ./node_modules/.bin/ionic-app-scripts build",
"build:android": "node --max-old-space-size=4096 node_modules/@ionic/app-scripts/bin/ionic-app-scripts build"
},
"config": {
"ionic_enable_lint": false,
"ionic_generate_source_map": false
},
"dependencies": {
"@angular/animations": "4.4.6",
"@angular/common": "4.4.6",
"@angular/compiler": "4.4.6",
"@angular/compiler-cli": "4.4.6",
"@angular/core": "4.4.6",
"@angular/forms": "4.4.6",
"@angular/http": "4.4.6",
"@angular/platform-browser": "4.4.6",
"@angular/platform-browser-dynamic": "4.4.6",
"@angular/tsc-wrapped": "4.4.6",
"@ionic-native/android-permissions": "4.3.3",
"@ionic-native/app-version": "4.3.3",
"@ionic-native/barcode-scanner": "4.3.3",
"@ionic-native/calendar": "4.3.3",
"@ionic-native/camera": "4.3.3",
"@ionic-native/core": "4.3.3",
"@ionic-native/device": "4.3.3",
"@ionic-native/diagnostic": "4.3.3",
"@ionic-native/file": "4.3.3",
"@ionic-native/file-opener": "4.3.3",
"@ionic-native/file-transfer": "4.3.3",
"@ionic-native/geolocation": "4.3.3",
"@ionic-native/image-picker": "4.3.3",
"@ionic-native/in-app-browser": "4.3.3",
"@ionic-native/launch-review": "4.3.3",
"@ionic-native/local-notifications": "4.3.3",
"@ionic-native/network": "4.3.3",
"@ionic-native/onesignal": "4.3.3",
"@ionic-native/photo-viewer": "4.3.3",
"@ionic-native/screen-orientation": "4.3.3",
"@ionic-native/splash-screen": "4.3.3",
"@ionic-native/status-bar": "4.3.3",
"@ionic/storage": "2.0.1",
"@ngx-translate/core": "8.0.0",
"@ngx-translate/http-loader": "2.0.0",
"angular2-moment": "1.7.0",
"angular2-qrcode": "2.0.1",
"async": "2.5.0",
"chart.js": "2.7.1",
"com-sarriaroman-photoviewer": "1.1.11",
"cordova-ios-plugin-no-export-compliance": "0.0.5",
"cordova-launch-review": "^2.0.2",
"cordova-plugin-app-event": "^1.2.1",
"cordova-plugin-app-version": "^0.1.9",
"cordova-plugin-calendar": "^4.6.0",
"cordova-plugin-camera": "^2.4.1",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-device": "^1.1.6",
"cordova-plugin-file": "^4.3.3",
"cordova-plugin-file-opener2": "^2.0.19",
"cordova-plugin-file-transfer": "^1.6.3",
"cordova-plugin-geolocation": "^2.4.3",
"cordova-plugin-inappbrowser": "^1.7.1",
"cordova-plugin-network-information": "^1.3.3",
"cordova-plugin-splashscreen": "^4.0.3",
"cordova-plugin-whitelist": "^1.3.2",
"cordova-sqlite-storage": "^2.0.4",
"de.appplant.cordova.plugin.local-notification": "^0.8.5",
"intl": "1.2.5",
"ionic-angular": "3.8.0",
"ionic-plugin-keyboard": "^2.2.1",
"ionic2-calendar": "0.3.11",
"ionicons": "3.0.0",
"moment": "2.19.1",
"moment-timezone": "0.5.14",
"ng-lazyload-image": "3.3.3",
"ng2-charts": "1.6.0",
"node-js-marker-clusterer": "1.0.0",
"onesignal-cordova-plugin": "^2.2.2",
"qrcode-generator": "1.3.1",
"rxjs": "5.4.3",
"socket.io-client": "2.0.4",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
},
"devDependencies": {
"@ionic/app-scripts": "3.0.1",
"@types/google-maps": "3.2.0",
"@types/socket.io-client": "1.4.31",
"codelyzer": "3.0.1",
"playup": "1.1.0",
"tslint": "5.3.2",
"typescript": "2.3.4",
"webpack": "3.6.0",
"xmldom": "0.1.27"
},
"description": "sunfishgo2: An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-app-version": {},
"cordova-plugin-calendar": {
"CALENDAR_USAGE_DESCRIPTION": "This app requires calendar access to function properly."
},
"cordova-plugin-device": {},
"cordova-plugin-file-opener2": {},
"cordova-plugin-file-transfer": {},
"cordova-plugin-geolocation": {
"GEOLOCATION_USAGE_DESCRIPTION": "This app requires geolocation access to function properly."
},
"cordova-plugin-network-information": {},
"cordova-plugin-splashscreen": {},
"cordova-sqlite-storage": {},
"de.appplant.cordova.plugin.local-notification": {},
"ionic-plugin-keyboard": {},
"onesignal-cordova-plugin": {},
"cordova-plugin-file": {},
"com-sarriaroman-photoviewer": {},
"cordova-launch-review": {},
"cordova-plugin-inappbrowser": {},
"cordova-plugin-app-event": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-camera": {
"CAMERA_USAGE_DESCRIPTION": "This app requires camera access to function properly.",
"PHOTOLIBRARY_USAGE_DESCRIPTION": "This app requires photo library access to function properly."
},
"cordova-ios-plugin-no-export-compliance": {}
},
"platforms": []
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment