maxandriani/ngx-google-analytics

add angular 13 support

Closed this issue · 8 comments

Since angular 13 now works with full ivy enable, it would be nice to have it enabled on this library.

Thx a lot!

when built it shows this message:

Processing legacy "View Engine" libraries:
- ngx-google-analytics [fesm2015/esm2015] (https://github.com/maxandriani/ngx-google-analytics)
- ngx-google-analytics [esm2015/esm2015] (https://github.com/maxandriani/ngx-google-analytics)
- ngx-google-analytics [main/umd] (https://github.com/maxandriani/ngx-google-analytics)
...
Encourage the library authors to publish an Ivy distribution.

I'll find some time next wk to bump this. If someone is interested to submmit a PR, please be welcome.

The last version is for angular 11. We need two pr, one for ng 12 and the other to ng 13. The process is quite simple.

  • fork this repo;
  • do npm install;
  • do ng upgrade @angular/core@12 (or something similar);
  • Updade the CHANGELOG.md file;
  • run tests npm run test:dev

All publish and artifacts build is automated.

@maxandriani do you want to do 2 major releases for each Angular version. Maybe just one PR with 2 commits might be enough?

@hakimio I would do 2 PRs, because angular 13 does have breaking changes.

I'll have a look at the next weekend, if nobody have done this before.

@maxandriani Do you have ways of testing them ?

@rbalet you can use Angular 13 Ivy partial compilation library with both Angular v12 and v13. I don't see why you would need two releases. Only Angular v11 support will have to be dropped.

@hakimio the problem is that if you're building libraries on top of other libraries. If one of them had forced Ivy, then every other one have to be on the version 13.

If not then it wont work. Such people maintaining those library may like to be able to upgrade to the v12, but aren't ready yet for the v13.

@maxandriani Do you have ways of testing them ?

There are some automated tests that covers the main issues. But I like to build a local artifact as well to test on clean ng environment just to be sure.

'Npm run test' runs the tests
'Npm run build' creates the package files on 'build/ngx-google-analytics' folder.
You can run 'npm pack' inside build folder to create a local tgz file to install on local projects.

I've added 2 PRs regarding this migration.

Both versions were tested on my own project "running locally, connected to production", and everything seemed to be working fine.
I also ran all of the app's tests too

Edit: Fixed comment