Problem running old Ionic v3 application

#1

I have the latest version of Ionic 4 and Angular Node 10.x installed in my machine. I need to run an old Ionic 3 app.

But when I run ‘ionic serve -c’ I get this errors:

[WARN] Detected locally installed Ionic CLI, but it's too old--using global CLI.
> ionic-app-scripts serve --address 0.0.0.0 --port 8100 --livereload-port 35729 --dev-logger-port 53703 --consolelogs --nobrowser
[app-scripts] [16:12:01]  ionic-app-scripts 1.3.7
[app-scripts] [16:12:01]  watch started ...
[app-scripts] [16:12:01]  build dev started ...
[app-scripts] [16:12:01]  clean started ...
[app-scripts] [16:12:01]  clean finished in 7 ms
[app-scripts] [16:12:01]  copy started ...
[app-scripts] [16:12:01]  transpile started ...
[app-scripts] [16:12:11]  typescript: ...s/MyProject/Frontend/node_modules/@angular/compiler/src/aot/static_reflector.d.ts, line: 8
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵReflectorReader'.
[app-scripts]        L7:   * templates statically.
[app-scripts]        L9:  export declare class StaticReflector implements ɵReflectorReader {
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵLifecycleHooks'.
[app-scripts]        L8:  export declare abstract class CompileAnimationStateMetadata {
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵReflectorReader'.
[app-scripts]        L7:   * Return {@link Directive} for a given `Type`.
[app-scripts]        L9:  resolve(type: Type<any>): Directive;
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵReflectorReader'.
[app-scripts]        L7:  import { NgModuleResolver } from './ng_module_resolver';
[app-scripts]        L8:  import { PipeResolver } from './pipe_resolver';
[app-scripts]        L9:  import { ElementSchemaRegistry } from './schema/element_schema_registry';
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵReflectorReader'.
[app-scripts]        L7:  constructor(_reflector?: ɵReflectorReader);
[app-scripts]        L8:  isNgModule(type: any): boolean;
[app-scripts]        L9:  resolve(type: Type<any>, throwIfNotFound?: boolean): NgModule | null;
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵReflectorReader'.
[app-scripts]        L7:   * See {@link Compiler}
[app-scripts]        L9:  export declare class PipeResolver {
[app-scripts] [16:12:11]  typescript: ...jetos/MyProject/Frontend/node_modules/@angular/compiler/src/compile_metadata.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...tos/MyProject/Frontend/node_modules/@angular/compiler/src/directive_resolver.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...etos/MyProject/Frontend/node_modules/@angular/compiler/src/metadata_resolver.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...tos/MyProject/Frontend/node_modules/@angular/compiler/src/ng_module_resolver.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...Projetos/MyProject/Frontend/node_modules/@angular/compiler/src/pipe_resolver.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/compiler/src/template_parser/template_ast.d.ts, line: 8
[app-scripts] [16:12:11]  typescript: ...end/node_modules/@angular/platform-browser/animations/src/animation_renderer.d.ts, line: 7
[app-scripts] [16:12:11]  typescript: ...st/node_modules/@angular/platform-browser/animations/src/animation_renderer.d.ts, line: 17
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/platform-browser/animations/src/providers.d.ts, line: 13
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/platform-browser/animations/src/providers.d.ts, line: 13
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/platform-browser/animations/src/providers.d.ts, line: 15
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/platform-browser/animations/src/providers.d.ts, line: 16
[app-scripts] [16:12:11]  typescript: ...w/Frontend/node_modules/@angular/platform-browser/animations/src/providers.d.ts, line: 17
[app-scripts] [16:12:11]  typescript: ...ect/Frontend/node_modules/ionic-angular/umd/navigation/nav-controller-base.d.ts, line: 59
[app-scripts] [16:12:11]  typescript: ...rojetos/MyProject/Frontend/node_modules/rxjs/observable/dom/WebSocketSubject.d.ts, line: 73
[app-scripts] [16:12:11]  typescript: C:/Projetos/MyProject/Frontend/node_modules/rxjs/Subject.d.ts, line: 24
[app-scripts] [16:12:11]  typescript: C:/Projetos/MyProject/Frontend/src/directives/e-chart/e-chart.ts, line: 42
[app-scripts]             Module '"C:/Projetos/MyProject/Frontend/node_modules/@angular/core/core"' has no exported member
[app-scripts]             'ɵLifecycleHooks'.
[app-scripts]        L8:  export interface TemplateAst {
[app-scripts]             Cannot use namespace 'AnimationEngine' as a type.
[app-scripts]        L6:  private _zone;
[app-scripts]        L7:  constructor(delegate: RendererFactory2, _engine: AnimationEngine, _zone: NgZone);
[app-scripts]        L8:  createRenderer(hostElement: any, type: RendererType2): Renderer2;
[app-scripts]             Cannot use namespace 'AnimationEngine' as a type.
[app-scripts]       L16:  private _flushPromise;
[app-scripts]       L17:  constructor(delegate: Renderer2, _engine: AnimationEngine, _zone: NgZone, _namespaceId: string);
[app-scripts]       L18:  readonly data: {
[app-scripts]             Cannot use namespace 'AnimationDriver' as a type.
[app-scripts]       L12:  * Separate providers from the actual module so that we can do a local modification in Google3 to
[app-scripts]       L13:  * include them in the BrowserModule.
[app-scripts]             Cannot use namespace 'AnimationStyleNormalizer' as a type.
[app-scripts]       L12:  * Separate providers from the actual module so that we can do a local modification in Google3 to
[app-scripts]       L13:  * include them in the BrowserModule.
[app-scripts]             Cannot use namespace 'NoopAnimationDriver' as a type.
[app-scripts]       L15:  export declare const BROWSER_ANIMATIONS_PROVIDERS: Provider[];
[app-scripts]             Cannot use namespace 'WebAnimationsStyleNormalizer' as a type.
[app-scripts]       L15:  export declare const BROWSER_ANIMATIONS_PROVIDERS: Provider[];
[app-scripts]       L17:   * Separate providers from the actual module so that we can do a local modification in Google3 to
[app-scripts]             Cannot use namespace 'AnimationEngine' as a type.
[app-scripts]       L17:   * Separate providers from the actual module so that we can do a local modification in Google3 to
[app-scripts]       L18:   * include them in the BrowserTestingModule.
[app-scripts]             Property 'popTo' in type 'NavControllerBase' is not assignable to the same property in base type
[app-scripts]             'NavController'. Type '(indexOrViewCtrl: any, opts?: NavOptions, done?: () => void) => Promise<any>' is not
[app-scripts]             assignable to type '(page: string | ViewController | Page, params?: any, opts?: NavOptions, done?: Function)
[app-scripts]             => Promi...'. Types of parameters 'done' and 'opts' are incompatible. Type 'NavOptions' is not assignable to
[app-scripts]             type '() => void'. Type 'NavOptions' provides no match for the signature '(): void'.
[app-scripts]       L58:  pop(opts?: NavOptions, done?: () => void): Promise<any>;
[app-scripts]       L59:  popTo(indexOrViewCtrl: any, opts?: NavOptions, done?: () => void): Promise<any>;
[app-scripts]       L60:  popToRoot(opts?: NavOptions, done?: () => void): Promise<any>;
[app-scripts]             Property 'lift' in type 'WebSocketSubject<T>' is not assignable to the same property in base type
[app-scripts]             'AnonymousSubject<T>'. Type '<R>(operator: Operator<T, R>) => WebSocketSubject<R>' is not assignable to type
[app-scripts]             '<R>(operator: Operator<T, R>) => Observable<T>'. Type 'WebSocketSubject<R>' is not assignable to type
[app-scripts]             'Observable<T>'. Types of property 'operator' are incompatible. Type 'Operator<any, R>' is not assignable to
[app-scripts]             type 'Operator<any, T>'. Type 'R' is not assignable to type 'T'.
[app-scripts]       L72:  constructor(urlConfigOrSource: string | WebSocketSubjectConfig | Observable<T>, destination?: Observer<T>);
[app-scripts]       L73:  lift<R>(operator: Operator<T, R>): WebSocketSubject<R>;
[app-scripts]       L74:  private _resetState();
[app-scripts]             Property 'lift' in type 'Subject<T>' is not assignable to the same property in base type 'Observable<T>'.
[app-scripts]             Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T,
[app-scripts]             R>) => Observable<R>'. Type 'Observable<T>' is not assignable to type 'Observable<R>'. Type 'T' is not
[app-scripts]             assignable to type 'R'.
[app-scripts]       L23:  static create: Function;
[app-scripts]       L24:  lift<R>(operator: Operator<T, R>): Observable<T>;
[app-scripts]       L25:  next(value?: T): void;
[app-scripts]             The 'this' context of type 'Subject<string>' is not assignable to method's 'this' of type
[app-scripts]             'Observable<string>'. Types of property 'lift' are incompatible. Type '<R>(operator: Operator<string, R>) =>
[app-scripts]             Observable<string>' is not assignable to type '<R>(operator: Operator<string, R>) => Observable<R>'. Type
[app-scripts]             'Observable<string>' is not assignable to type 'Observable<R>'. Type 'string' is not assignable to type 'R'.
[app-scripts]       L41:  this.onResize = this.reSize$
[app-scripts]       L42:    .distinctUntilChanged()
[app-scripts]       L43:    .subscribe((_) => this.chart.resize());

Project’s package.json:

{
  "name": "MyProject",
  "author": "My Company",
  "homepage": "http://www.google.com",
  "private": true,
  "config": {},
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve",
    "compodoc": "./node_modules/.bin/compodoc -p src/tsconfig.json",
    "test": "karma start ./test-config/karma.conf.js",
    "test-ci": "karma start ./test-config/karma.conf.js --single-run",
    "e2e": "npm run e2e-update && npm run e2e-test",
    "e2e-test": "protractor ./test-config/protractor.conf.js",
    "e2e-update": "webdriver-manager update --standalone false --gecko false"
  },
  "dependencies": {
    "@angular/common": "4.1.2",
    "@angular/compiler": "4.1.2",
    "@angular/compiler-cli": "4.1.2",
    "@angular/core": "^4.1.2",
    "@angular/forms": "4.1.2",
    "@angular/http": "4.1.2",
    "@angular/platform-browser": "4.1.2",
    "@angular/platform-browser-dynamic": "4.1.2",
    "@ionic-native/core": "3.10.2",
    "@ionic-native/splash-screen": "3.10.2",
    "@ionic-native/status-bar": "3.10.2",
    "@ionic/storage": "2.0.1",
    "@types/async": "^2.0.40",
    "@types/crypto-js": "^3.1.33",
    "@types/downloadjs": "^1.4.0",
    "angular2-virtual-scroll": "^0.1.5",
    "async": "^2.3.0",
    "crypto-js": "^3.1.9-1",
    "d3": "3.5.17",
    "downloadjs": "^1.4.7",
    "echarts": "^3.6.1",
    "file-saver": "^1.3.3",
    "install": "^0.10.1",
    "ionic-angular": "3.3.0",
    "ionicons": "3.0.0",
    "ng2-google-charts": "^2.4.0",
    "npm": "^5.0.3",
    "rxjs": "5.1.1",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.11",
    "cordova-browser": "~4.1.0",
    "cordova-plugin-console": "1.0.5",
    "cordova-plugin-device": "1.1.4",
    "cordova-plugin-splashscreen": "~4.0.1",
    "cordova-plugin-statusbar": "2.2.1",
    "cordova-plugin-whitelist": "1.3.1",
    "ionic-plugin-keyboard": "~2.2.1"
  },
  "devDependencies": {
    "@ionic/app-scripts": "1.3.7",
    "@ionic/cli-plugin-cordova": "1.3.0",
    "@ionic/cli-plugin-ionic-angular": "1.3.0",
    "@types/c3": "^0.4.41",
    "@types/echarts": "0.0.6",
    "@types/jasmine": "^2.5.53",
    "@types/node": "^8.0.19",
    "angular2-template-loader": "^0.6.2",
    "c3": "^0.4.11",
    "html-loader": "^0.5.0",
    "ionic": "^3.6.0",
    "jasmine": "^2.7.0",
    "jasmine-spec-reporter": "^4.1.1",
    "karma": "^1.7.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-jasmine": "^1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-webpack": "^2.0.4",
    "null-loader": "^0.1.1",
    "protractor": "^5.1.2",
    "ts-loader": "^2.3.2",
    "ts-node": "^3.3.0",
    "typescript": "^2.3.0"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-console",
    "cordova-plugin-device",
    "cordova-plugin-statusbar",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [],
  "description": "My project's description",
  "cordova": {
    "platforms": [
      "browser"
    ],
    "plugins": {
      "cordova-plugin-console": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-whitelist": {},
      "ionic-plugin-keyboard": {}
    }
  }

How can I run my old Ionic 3 app?