Anyone else giving up on RC0? Rolling back to Beta 11!


#11

@reedrichards it always depends on how big is your app, how complex ist your layout system and so on…for us now, is no go, unless we make a lot of hacks…sure we are trying but is not easy in our scenario!


#12

@danielgroh I’ve should have said then “if your app is not in the store and if you don’t plan to ship it in the store soon”, maybe better like this


#13

@reedrichards Development is tricky and rollup make it trickier. I spent 5 days upgrading two apps I working on, but my major concern is how to add third party libraries, most of them don’t work well yet, so I’m trying to fix them. Although Beta 11 is their best release, I’m eager for the new releases because these are going to be part of my apps.


#14

Finally i got my app upgraded to RC0 from beta 11, and with ionic serve it works great in the browser! Spending so much time trying to solve problems one by one was tough. and now I finally was expecting everything to work on the actual device, DANG!

On the device, it’s totally broken. So sad…


#15

I had a nightmare moving from beta 19 to beta 39 now RC0 has many changes. i can run my existing project in beta 39 however when I try to create new project in beta 39 platform. by default it is creating new project in rc0 :((


#16

I’m going back to Beta11. It’s really unlike me to ever roll back, and I really need this. I’m usually latest bits guy, but I can’t get past these 2 issues:


I’ve lost way too much time now. Unfortunately all my porting to RC0 will have to be re-done whenever RC2 or RC3 come out.


#17

I started down the road of using rollup, but I then decided to cheat and do things the old way.

I simply included the raw javascript file in the html, and then made a global typescript declaration for my library. Works like a charm until this rollup business is sorted out. Needed to update the copy.config.js file so that it copies everything over too.

I now have things working great on RC0 and once the rollup and documentation is smoothed out.


#18

Would you mind posting the steps for this procedure?


#19

Give me 15 and I’ll post what I did.


#20

First things first, add your scripts to the index.html page. Don’t worry about the location, we’ll fix it later. In my scenario, I needed to include these 3 libraries that rollup doesn’t play nice with, along with font-awesome.

<head>
    ...
    <link href="css/font-awesome.min.css" rel="stylesheet">
    <script src="libs/forge.bundle.js" type="text/javascript"></script>
    <script src="libs/encoding.js" type="text/javascript"></script>
    <script src="libs/encoding-indexes.js" type="text/javascript"></script>
</head>

Next thing we do is add these three files to your project. You have some choices here. Choose your preference.

  1. Add them via npm install
  2. Download the raw JavaScript and save them to a folder. I named my libs, and put it in my src folder

Now we tell ionic to copy these files when doing a build.
Create a folder named config in your project root.
Copy the following file node_modules/@ionic/app-scripts/config/copy.config.js to this folder.
Open it up in your favourite JavaScript ide and add an entry to it like so.

{
      src: 'src/libs/', //copy all files from here
      dest: 'www/libs/' //and put them here
},
{
      src: 'node_modules/font-awesome/fonts/',
      dest: 'www/fonts/'
  },
  {
      src: 'node_modules/font-awesome/css/',
      dest: 'www/css/'
  }

Last step. Tell ionic to use your copy.config.js file rather than the default one
Crack open package.json and add an config entry. Doesn’t matter where you add it.

  "config": {
      "ionic_copy": "./config/copy.config.js"
  },

All done. Run npm run build and it will copy these javascript files to the www folder.

BUT WAIT. THERE’S MORE!!

Need to tell Typescript to ignore things. In my case I would put this at the top of my .ts file that I use these libraries in

declare var forge: any;
declare var TextEncoder: any;

You could get reeeal fancy and put all this into a single declarations.d.ts file, as mentioned here

Once all this nonsense with rollingup, tree-shaking, angular compiling, typescript definition crap is sorted out, and the authors of these fine libraries migrate from CommonJs to ES5 modules, then I’ll remove my work-around.

Hope this helps.

Links that helped me.



#21

I decided to try a few last more things before reverting.

I ran npm install -g ionic@latest, npm install @ionic/app-scripts and now I can run > ionic run browser and it works for me. main.js|css is being built reliably, and I’m not seeing polyfill.js fail to load some .html files. ionic serve does not work for me.

I’m unblocked for now and can move on to some styling fixes to get the RC1 looking like the Beta11 version.

Going to press on with RC…


#22

how does one use the old build tools with the RC0 release?


#23

I am feeling your frustration, we were ready to release our app in beta. RC0-1 changed our schedule drastically since it isn’t stable enough. However I think moving to RC1 will be worth it in the end. Our startup time went from 9 to 4 seconds. Animations ran smoother, transitions worked better and tap actions look more responsive.

Currently I am waiting for a solution to develop on a physical device so I don’t have to wait 4-10 minutes compiling for each code change, see this topic.

Until then I have to wait, I am sure the Ionic team does anything in their power. :slight_smile:


#24

For me RC0 was a disaster in terms of “rollup hell”, and RC1 fixed absolutely nothing.

It feels like the product jumped back to Alpha stage and devs are busy experimenting with shiny new toys rather than preparing a real release candidate.

Rolled back to Beta 11 while failing to make external libraries work for more than 2 weeks already. Constant “we are working hard to fix that” and “we are feeling your frustration” do not work much to my greatest regret.


#25

It took us two weeks to transfer everything to rc0 and it was a nightmare. I’ve flooded stackoverflow with questions. I was stuck on every little imaginable things:

  • ngc compiler crashing down: AoT will bring you nightmares
  • all sorts of typescripts errors
  • rollup config for external library

All I can say is: Just keep on pushing.

Or what Churchill said: If You’re Going Through Hell, Keep Going

Good luck!


#26

I’m having similar problems. And RC1 does not fix anything either. Ionic serve dos not even work on a fresh started sidemenu ionic project. This is just ridiculous. How can this be a release candidate ?

I can’t get past 404 errors in ionic serve that seems to indicate that some file just don’t get generated for some unknown reasons as the compiler is not complaining about anything… How can we fix things that are not even reported by the compiler. This is just absurd !

Personally I have 2 app built with Ionic 2 latest beta in production in the Google Play Store working like a charm so I was really happy and exited to finally see RCs coming in. But seeing the pain and time I had making all the changes to adapt to RC and finally not being even to make it even work in Ionic serve.

I’m really pissed at the Ionic 2 team right now !

Arnaud


#27

Personally I’ve avoided using beta for anything serious precisely because it was in beta. Saying we’ll go to production with a beta version rather than upgrading to a release candidate sounds like a pretty odd decision to me to be honest.

The build step is the biggest pain point right now but the latest Ionic 2 RC Weekend Updates say

Based on feedback, we are strongly considering adding Webpack support into app-scripts again, as we believe we can produce a small enough bundle size that boots quickly, which we didn’t believe was possible before.

If you’re interested in tracking that progress, please follow this Pull Request on ionic-app-scripts.

so hopefully that will improve the save/build/refresh cycle.


#28

@mirkonasato you are right but you are completly missing the point here ! What we are all saying here is that the latest beta is more production ready than the latest released candidate. Which can sound absurd but which is actually true.


#29

Strictly speaking ionic-angular is what is at 2.0.0-rc.1. That’s in RC status as in the API is stable and only bug fixes are expected. (At least I hope that’s what it means.) The build scripts are separate packages, like @ionic/app-scripts is at 0.0.34.

In theory you could set up your own project with whatever build system you like and use ionic-angular as a dependency. In practice that’s pretty difficult to do. (I’ve tried and haven’t yet figured out how discovering *.scss files is supposed to work.)

So it’s not surprising that people consider the build tools to be part of “Ionic” and expect the “RC” label to apply to everything. But conceptually they are separate things, and this is actually something else I’d like to see improved: make it easier to set up your own project without using the Ionic CLI, i.e. provide some documentation on how to do that.


#30

I updated my Beta11 app to RC1 and followed the steps from the blog post below and everything works fine now! Thank you ionic team for a job well done and keep up the good work. You’re awesome :+1:

Ionic 2 RC Weekend Updates

P.S. The frustrations shown here by the community are just signs of how much we love this product