Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ready for publish #53

Closed
GZGavinZhao opened this issue Nov 2, 2021 · 6 comments
Closed

Ready for publish #53

GZGavinZhao opened this issue Nov 2, 2021 · 6 comments
Labels
compatibility Related to compatibility with Angular v7

Comments

@GZGavinZhao
Copy link

GZGavinZhao commented Nov 2, 2021

I believe the current version in the master branch is almost ready for publish. This issue is for tracking some last issues that we might have to deal with.

I have only three things that we have to agree on:

  1. material-calendar-picker is not showing the current date and is not selectable #50 and Max rows of input multiline does not work #51 are two bugs that already exist in the upstream, so I think we can safely ignore them for now.
  2. Rename the package to ngcomponents. To prevent causing trouble to the migration process, a separate branch used only for publishing will be created from the current master. ngcomponents can be a drop-in replacement for users who want to use angular_components with the latest Angular 7. All they have to do is the change the pubspec.yaml and all occurrences of package:angular_components to package:ngcomponents. This package will be published under the domain angulardart.xyz.
  3. Update the full CHANGELOG. @jodinathan resolved the deprecated API, so he is probably the person who is most familiar with what got removed during the process. Rest of the changes were mainly made by @lejard-h, so maybe you guys can work on this together?

If anyone has any other concerns or issues, feel free to mention them below!

@lejard-h @dukefirehawk @jodinathan

@GZGavinZhao GZGavinZhao added the compatibility Related to compatibility with Angular v7 label Nov 2, 2021
@jodinathan
Copy link
Collaborator

jodinathan commented Nov 2, 2021

I should have taken notes haha

Breaking changes: (everything was deprecated long time ago)

  • componentRenderer, labelRenderer and componentType were removed, use labelFactory and factoryRenderer.
  • GlyphComponent was removed, use MaterialIcon instead.
  • MaterialInputComponent.checkValid was removed, use AngularForms instead.
  • MenuItem.action was removed, use MenuItem.actionWithContext instead.
  • timeZoneAwareDatepickerProviders was removed, use timeZoneAwareDatepickerModule instead.
  • Removed SelectionModel.withList, use SelectionModel.single or SelectionModel.multi instead.
  • ElementRef was completely removed in favor of dart:html.Element. Instead of component.elementRef.nativeElement use component.element.

Changes that should not break anything:

  • All Components are using OnPush change strategy
  • Angular2ManagedZone was removed in place for NgZone.
  • Changed from Observable<ChangeRecord> to PropertyChangeNotifier

Also @GZGavinZhao the gallery https://gallery.angulardart.xyz still has links pointing to the old repo. (#39)

Edit: I am ok with ngcomponents and to ignore those two bugs for now

@GZGavinZhao
Copy link
Author

I'm planning to publish it later today after some minor changes to the README.

Does the version number 1.1.0 sound good? 2.0.0 will be reserved for the null safety version.

@jodinathan
Copy link
Collaborator

1.1.0 now and 2.0.0 for nnbd sounds good.

@GZGavinZhao
Copy link
Author

Small problem:

Package validation found the following errors:
* lib/material_datepicker/proto/date.pb.dart is declaring language version 2.12 that is newer than the SDK constraint 2.10 declared in `pubspec.yaml`.
* lib/material_datepicker/proto/date_range.pb.dart is declaring language version 2.12 that is newer than the SDK constraint 2.10 declared in `pubspec.yaml`.
Sorry, your package is missing some requirements and can't be published yet.
For more information, see: https://dart.dev/tools/pub/cmd/pub-lish.

I think we have to regenerate the .proto files with a protobuf compiler that generates non-null-safety code. I kind of know how to fix it, but I need to verify its behavior. I'll try to do that tomorrow if I have time. Any help would be appreciated!

Just for reference, use branch v1.1.0.

@GZGavinZhao
Copy link
Author

Ok I was able to fix that. The package is currently published here.

However, for some reason Pub(pana) declares that it's incompatible with the js platform because of the builder.dart file which uses sass_builder. Weirdly, this didn't cause the problem for the original angular_components (see section "Support multiple platforms").

@jodinathan
Copy link
Collaborator

great @GZGavinZhao!

Let's adjust the repo to this update ok?
I am closing this issue and the observable one.
Can you want to change the wiki? It seems you are good at writing and also I would like you to point out which branch we should start migrating.
Can I close the compatibility project? I clicked the close button but it said it could stop automation so I didn't continue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility Related to compatibility with Angular v7
Projects
None yet
Development

No branches or pull requests

2 participants