Ionic-framework: [Ionic V4-beta.12] Compiler takes up to one minute on `ionic build`

Created on 28 Sep 2018  路  7Comments  路  Source: ionic-team/ionic-framework

Bug Report

Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.

    Ionic:

    ionic (Ionic CLI)          : 4.1.2 (C:\Users\Eliya\AppData\Roaming\npm\node_modules\ionic)
    Ionic Framework            : @ionic/angular 4.0.0-beta.12
    @angular-devkit/core       : 0.7.5
    @angular-devkit/schematics : 0.7.5
    @angular/cli               : 6.2.3
    @ionic/ng-toolkit          : 1.0.8
    @ionic/schematics-angular  : 1.0.6

    Cordova:

    cordova (Cordova CLI) : 8.0.0
    Cordova Platforms     : none
    Cordova Plugins       : no whitelisted plugins (0 plugins total)

    System:

    NodeJS : v8.10.0 (C:\Program Files\nodejs\node.exe)
    npm    : 6.4.1
    OS     : Windows 10

Describe the Bug
When I run time ionic build, I get the following response:

real    0m57.761s
user    0m0.000s
sys     0m0.090s

As you can see, it takes lots of time to compile the app. There's nothing special in the app. If I may be more accurate, There's nothing in the app. The only thing I did was changing 4.0.0-beta.7 to 4.0.0-beta.12. On Beta 7, it took me 13s to build the app.

Steps to Reproduce
Steps to reproduce the behavior:

  1. clone https://github.com/Newbie012/ionic-4.0.0.beta12
  2. run npm install
  3. run time ionic build
  4. See the compilation time

Related Code

Eliya@DESKTOP-LDD0TT1 MINGW64 ~/desktop/apps/test (master)
$ time ng build

Date: 2018-09-28T14:02:35.375Z
Hash: 4952a44080c4bad4e339
Time: 53288ms
chunk {common} common.js, common.js.map (common) 27.1 kB  [rendered]
chunk {home-home-module} home-home-module.js, home-home-module.js.map (home-home-module) 5.56 kB  [rendered]
chunk {main} main.js, main.js.map (main) 143 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 227 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 8.02 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 36 kB [initial] [rendered]
chunk {166} 166.js, 166.js.map () 12.1 kB  [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.36 MB [initial] [rendered]
chunk {0} 0.js, 0.js.map () 14.7 kB  [rendered]
chunk {1} 1.js, 1.js.map () 1.27 kB  [rendered]
chunk {2} 2.js, 2.js.map () 2.36 kB  [rendered]
chunk {3} 3.js, 3.js.map () 1.39 kB  [rendered]
chunk {4} 4.js, 4.js.map () 8.11 kB  [rendered]
chunk {5} 5.js, 5.js.map () 5.14 kB  [rendered]
chunk {6} 6.js, 6.js.map () 23.5 kB  [rendered]
chunk {7} 7.js, 7.js.map () 23.7 kB  [rendered]
chunk {8} 8.js, 8.js.map () 63.9 kB  [rendered]
chunk {9} 9.js, 9.js.map () 64.1 kB  [rendered]
chunk {10} 10.js, 10.js.map () 31.1 kB  [rendered]
chunk {11} 11.js, 11.js.map () 31.1 kB  [rendered]
chunk {12} 12.js, 12.js.map () 16.1 kB  [rendered]
chunk {13} 13.js, 13.js.map () 16.1 kB  [rendered]
chunk {14} 14.js, 14.js.map () 20.9 kB  [rendered]
chunk {15} 15.js, 15.js.map () 20.9 kB  [rendered]
chunk {16} 16.js, 16.js.map () 35.1 kB  [rendered]
chunk {17} 17.js, 17.js.map () 36.3 kB  [rendered]
chunk {18} 18.js, 18.js.map () 19.9 kB  [rendered]
chunk {19} 19.js, 19.js.map () 20 kB  [rendered]
chunk {20} 20.js, 20.js.map () 24.1 kB  [rendered]
chunk {21} 21.js, 21.js.map () 24.9 kB  [rendered]
chunk {22} 22.js, 22.js.map () 7.67 kB  [rendered]
chunk {23} 23.js, 23.js.map () 7.68 kB  [rendered]
chunk {24} 24.js, 24.js.map () 15.9 kB  [rendered]
chunk {25} 25.js, 25.js.map () 15.9 kB  [rendered]
chunk {26} 26.js, 26.js.map () 23.3 kB  [rendered]
chunk {27} 27.js, 27.js.map () 24 kB  [rendered]
chunk {28} 28.js, 28.js.map () 8.95 kB  [rendered]
chunk {29} 29.js, 29.js.map () 9.19 kB  [rendered]
chunk {30} 30.js, 30.js.map () 16.2 kB  [rendered]
chunk {31} 31.js, 31.js.map () 16.6 kB  [rendered]
chunk {32} 32.js, 32.js.map () 12.2 kB  [rendered]
chunk {33} 33.js, 33.js.map () 12.4 kB  [rendered]
chunk {34} 34.js, 34.js.map () 31.1 kB  [rendered]
chunk {35} 35.js, 35.js.map () 31.1 kB  [rendered]
chunk {36} 36.js, 36.js.map () 2.47 kB  [rendered]
chunk {37} 37.js, 37.js.map () 2.49 kB  [rendered]
chunk {38} 38.js, 38.js.map () 34.8 kB  [rendered]
chunk {39} 39.js, 39.js.map () 36.2 kB  [rendered]
chunk {40} 40.js, 40.js.map () 16.1 kB  [rendered]
chunk {41} 41.js, 41.js.map () 16.1 kB  [rendered]
chunk {42} 42.js, 42.js.map () 28.9 kB  [rendered]
chunk {43} 43.js, 43.js.map () 29.1 kB  [rendered]
chunk {44} 44.js, 44.js.map () 11.2 kB  [rendered]
chunk {45} 45.js, 45.js.map () 11.2 kB  [rendered]
chunk {46} 46.js, 46.js.map () 58 kB  [rendered]
chunk {47} 47.js, 47.js.map () 58.4 kB  [rendered]
chunk {48} 48.js, 48.js.map () 11.6 kB  [rendered]
chunk {49} 49.js, 49.js.map () 11.8 kB  [rendered]
chunk {50} 50.js, 50.js.map () 13.8 kB  [rendered]
chunk {51} 51.js, 51.js.map () 13.9 kB  [rendered]
chunk {52} 52.js, 52.js.map () 9.71 kB  [rendered]
chunk {53} 53.js, 53.js.map () 10.1 kB  [rendered]
chunk {54} 54.js, 54.js.map () 16.3 kB  [rendered]
chunk {55} 55.js, 55.js.map () 16.3 kB  [rendered]
chunk {56} 56.js, 56.js.map () 12.7 kB  [rendered]
chunk {57} 57.js, 57.js.map () 13 kB  [rendered]
chunk {58} 58.js, 58.js.map () 13.6 kB  [rendered]
chunk {59} 59.js, 59.js.map () 14.1 kB  [rendered]
chunk {60} 60.js, 60.js.map () 18.2 kB  [rendered]
chunk {61} 61.js, 61.js.map () 18.3 kB  [rendered]
chunk {62} 62.js, 62.js.map () 11.1 kB  [rendered]
chunk {63} 63.js, 63.js.map () 11.1 kB  [rendered]
chunk {64} 64.js, 64.js.map () 42.9 kB  [rendered]
chunk {65} 65.js, 65.js.map () 43 kB  [rendered]
chunk {66} 66.js, 66.js.map () 12.1 kB  [rendered]
chunk {67} 67.js, 67.js.map () 12.3 kB  [rendered]
chunk {68} 68.js, 68.js.map () 39.6 kB  [rendered]
chunk {69} 69.js, 69.js.map () 39.7 kB  [rendered]
chunk {70} 70.js, 70.js.map () 22.9 kB  [rendered]
chunk {71} 71.js, 71.js.map () 23 kB  [rendered]
chunk {72} 72.js, 72.js.map () 11.1 kB  [rendered]
chunk {73} 73.js, 73.js.map () 11.1 kB  [rendered]
chunk {74} 74.js, 74.js.map () 48.1 kB  [rendered]
chunk {75} 75.js, 75.js.map () 48.1 kB  [rendered]
chunk {76} 76.js, 76.js.map () 4.43 kB  [rendered]
chunk {77} 77.js, 77.js.map () 4.49 kB  [rendered]
chunk {78} 78.js, 78.js.map () 16.2 kB  [rendered]
chunk {79} 79.js, 79.js.map () 16.2 kB  [rendered]
chunk {80} 80.js, 80.js.map () 34.7 kB  [rendered]
chunk {81} 81.js, 81.js.map () 36.1 kB  [rendered]
chunk {82} 82.js, 82.js.map () 10.8 kB  [rendered]
chunk {83} 83.js, 83.js.map () 10.9 kB  [rendered]
chunk {84} 84.js, 84.js.map () 17.6 kB  [rendered]
chunk {85} 85.js, 85.js.map () 17.6 kB  [rendered]
chunk {86} 86.js, 86.js.map () 12.1 kB  [rendered]
chunk {87} 87.js, 87.js.map () 12.3 kB  [rendered]
chunk {88} 88.js, 88.js.map () 8.81 kB  [rendered]
chunk {89} 89.js, 89.js.map () 9.07 kB  [rendered]
chunk {90} 90.js, 90.js.map () 11 kB  [rendered]
chunk {91} 91.js, 91.js.map () 11.1 kB  [rendered]
chunk {92} 92.js, 92.js.map () 13.8 kB  [rendered]
chunk {93} 93.js, 93.js.map () 13.9 kB  [rendered]
chunk {94} 94.js, 94.js.map () 34.6 kB  [rendered]
chunk {95} 95.js, 95.js.map () 35.8 kB  [rendered]
chunk {96} 96.js, 96.js.map () 23.4 kB  [rendered]
chunk {97} 97.js, 97.js.map () 23.5 kB  [rendered]
chunk {98} 98.js, 98.js.map () 48.1 kB  [rendered]
chunk {99} 99.js, 99.js.map () 48.1 kB  [rendered]
chunk {100} 100.js, 100.js.map () 16 kB  [rendered]
chunk {101} 101.js, 101.js.map () 16.5 kB  [rendered]
chunk {102} 102.js, 102.js.map () 21.8 kB  [rendered]
chunk {103} 103.js, 103.js.map () 21.8 kB  [rendered]
chunk {104} 104.js, 104.js.map () 8.06 kB  [rendered]
chunk {105} 105.js, 105.js.map () 8.07 kB  [rendered]
chunk {106} 106.js, 106.js.map () 10.6 kB  [rendered]
chunk {107} 107.js, 107.js.map () 10.8 kB  [rendered]
chunk {108} 108.js, 108.js.map () 23.6 kB  [rendered]
chunk {109} 109.js, 109.js.map () 23.6 kB  [rendered]
chunk {110} 110.js, 110.js.map () 24 kB  [rendered]
chunk {111} 111.js, 111.js.map () 25 kB  [rendered]
chunk {112} 112.js, 112.js.map () 28.9 kB  [rendered]
chunk {113} 113.js, 113.js.map () 29.1 kB  [rendered]
chunk {114} 114.js, 114.js.map () 30.2 kB  [rendered]
chunk {115} 115.js, 115.js.map () 30.2 kB  [rendered]
chunk {116} 116.js, 116.js.map () 15.3 kB  [rendered]
chunk {117} 117.js, 117.js.map () 15.6 kB  [rendered]
chunk {118} 118.js, 118.js.map () 63.8 kB  [rendered]
chunk {119} 119.js, 119.js.map () 63.9 kB  [rendered]
chunk {120} 120.js, 120.js.map () 32.8 kB  [rendered]
chunk {121} 121.js, 121.js.map () 33.2 kB  [rendered]
chunk {122} 122.js, 122.js.map () 30.6 kB  [rendered]
chunk {123} 123.js, 123.js.map () 30.6 kB  [rendered]
chunk {124} 124.js, 124.js.map () 32.2 kB  [rendered]
chunk {125} 125.js, 125.js.map () 32.6 kB  [rendered]
chunk {126} 126.js, 126.js.map () 17.7 kB  [rendered]
chunk {127} 127.js, 127.js.map () 17.7 kB  [rendered]
chunk {128} 128.js, 128.js.map () 5.66 kB  [rendered]
chunk {129} 129.js, 129.js.map () 5.78 kB  [rendered]
chunk {130} 130.js, 130.js.map () 57.9 kB  [rendered]
chunk {131} 131.js, 131.js.map () 58.3 kB  [rendered]
chunk {132} 132.js, 132.js.map () 11.2 kB  [rendered]
chunk {133} 133.js, 133.js.map () 11.2 kB  [rendered]
chunk {134} 134.js, 134.js.map () 7.68 kB  [rendered]
chunk {135} 135.js, 135.js.map () 7.69 kB  [rendered]
chunk {136} 136.js, 136.js.map () 10.6 kB  [rendered]
chunk {137} 137.js, 137.js.map () 10.8 kB  [rendered]
chunk {138} 138.js, 138.js.map () 11.3 kB  [rendered]
chunk {139} 139.js, 139.js.map () 11.5 kB  [rendered]
chunk {140} 140.js, 140.js.map () 16.2 kB  [rendered]
chunk {141} 141.js, 141.js.map () 16.2 kB  [rendered]
chunk {142} 142.js, 142.js.map () 16.2 kB  [rendered]
chunk {143} 143.js, 143.js.map () 16.5 kB  [rendered]
chunk {144} 144.js, 144.js.map () 3.84 kB  [rendered]
chunk {145} 145.js, 145.js.map () 3.87 kB  [rendered]
chunk {146} 146.js, 146.js.map () 21.6 kB  [rendered]
chunk {147} 147.js, 147.js.map () 22.1 kB  [rendered]
chunk {148} 148.js, 148.js.map () 16 kB  [rendered]
chunk {149} 149.js, 149.js.map () 16.6 kB  [rendered]
chunk {150} 150.js, 150.js.map () 5.66 kB  [rendered]
chunk {151} 151.js, 151.js.map () 5.79 kB  [rendered]
chunk {152} 152.js, 152.js.map () 5.21 kB  [rendered]
chunk {153} 153.js, 153.js.map () 5.29 kB  [rendered]
chunk {154} 154.js, 154.js.map () 14.6 kB  [rendered]
chunk {155} 155.js, 155.js.map () 14.9 kB  [rendered]
chunk {156} 156.js, 156.js.map () 5.21 kB  [rendered]
chunk {157} 157.js, 157.js.map () 5.28 kB  [rendered]
chunk {158} 158.js, 158.js.map () 7.89 kB  [rendered]
chunk {159} 159.js, 159.js.map () 2.61 kB  [rendered]
chunk {160} 160.js, 160.js.map () 2.92 kB  [rendered]
chunk {161} 161.js, 161.js.map () 1.34 kB  [rendered]
chunk {162} 162.js, 162.js.map () 5.87 kB  [rendered]
chunk {163} 163.js, 163.js.map () 12.7 kB  [rendered]
chunk {164} 164.js, 164.js.map () 210 kB  [rendered]
chunk {165} 165.js, 165.js.map () 15.7 kB  [rendered]

real    0m57.761s
user    0m0.000s
sys     0m0.090s

Expected Behavior
The compiler shouldn't take so long to build the app. On the previous beta (11), it took me 21.816s to compile.

Additional Context

triage

Most helpful comment

Hello,

I had the same problem, you must install node 10 and everything will be like before ;)
You can see it here -> #15644

All 7 comments

I also noticed the much longer build time, but I wasn't sure if it was something local to me or my machine and so I've been keeping an eye on the issues. I'm glad someone else reported it. This might be something worth investigating. I'm on a Mac OS High Sierra.

Hello,

I had the same problem, you must install node 10 and everything will be like before ;)
You can see it here -> #15644

@Yomyer works like a charm. 17 seconds compilation time

Thx @Yomyer that helps a lot!

Still with the recent ionic beta (12 as of writing) I get compile times of ~4500ms for a migrated real world project on a dev machine where ionic 3 compiles the original project always under 1000ms. I'm not sure if this a pill we have to swallow or if this could be improved...

Still with the recent ionic beta (12 as of writing) I get compile times of ~4500ms for a migrated real world project

Yeah, incremental builds seem to be a bit slower with beta 12 vs. beta 11 (5-6 seconds vs. 3-4 seconds). Could also be changes in latest releases of Angular 6.x deps.

Hopefully we don't have to reinstall/rebuild deps on every beta upgrade.

Update to Node 10 is right. Compiling time from 79s to 7s.

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MrBokeh picture MrBokeh  路  3Comments

RobFerguson picture RobFerguson  路  3Comments

manucorporat picture manucorporat  路  3Comments

brandyscarney picture brandyscarney  路  3Comments

SebastianGiro picture SebastianGiro  路  3Comments