How to migrate to Polymer and PaperElements 1.0 using pubspec.yaml - dart

I have found Migration guide (https://www.polymer-project.org/1.0/docs/migration.html). My Dart project does not use bower but pubspec.yaml and when I changed dependencies version for PaperElements I get message: paper_elements has no versions that match >=1.0.0
environment:
sdk: '>=0.8.10+6 <2.0.0'
dependencies:
browser: '>=0.10.0+2'
code_transformers: any
core_elements: '>=0.6.0'
dnd: any
logging: '>=0.9.3'
paper_elements: '>=1.0.0'
polymer: any
polymer_intl: any
vector_math: any
transformers:
- polymer:
entry_points:
web/index.html
inline_stylesheets:
packages/polymer/src/build/log_injector.css: false
- $dart2js:
minify: true
How to upgrade?

update
https://pub.dartlang.org/packages/polymer_elements
(ignore the deprecated comment in the readme)
original
There are no 1.0 elements for Dart yet.
This is work in progress and before they are not published there is no way to use them the way you did previously.
You can use the Polymer.js elements in the meantime of course but then you have to use bower and dart-js-interop.

Related

About AngularDart, How to solve angular_router: ^2.0.0-alpha incompatibility with angular 5.0.0-alpha?

Today I started trying advice from #matanlurey in git#676 (https://github.com/dart-lang/angular/issues/676). In my project pubspec.yaml file:
environment:
sdk: '>=1.24.0 <2.0.0'
dependencies:
angular: ^5.0.0-alpha
angular_components: ^0.9.0-alpha
angular_forms: ^1.0.1-alpha
angular_router: ^2.0.0-alpha
browser: ^0.10.0
dart_to_js_script_rewriter: ^1.0.1
sass_builder: ^1.0.0
but Resolving dependencies...
Incompatible version constraints on angular:
- angular_components 0.9.0-alpha depends on version 5.0.0-alpha
- angular_forms 1.0.1-alpha depends on version ^5.0.0-alpha
- angular_router 2.0.0-alpha depends on version ^4.0.0
- huastecappadmin depends on version ^5.0.0-alpha
Process finished with exit code 1
Any Idea?
You can try to add
dependency_overrides:
angular: ^5.0.0-alpha
but it might not work.
In this case you'd need to wait until an update for angular_router that is compatible with Angular 5 is released.
See also https://github.com/dart-lang/angular/issues/676

How to configure existing project to use polymer dart 1.0.0-rc.2?

I created new polymer dart project with dependences:
dependencies:
polymer: ^1.0.0-rc.2
web_components: ^0.12.0
polymer_elements: ^1.0.0-rc.1
browser: ^0.10.0
reflectable: ^0.3.1
dependency_overrides:
polymer_interop:
git:
ref: 0.2.0-rc1
url: https://github.com/dart-lang/polymer_interop.git
and everything worked fine (I can create new dom-module and use polymer elements). But then I tried to use exactly the same dependency configuration in existing project and when I run pub get I get:
Package reflectable has no versions that match >=0.3.1 <0.4.0 derived from:
- fbnn depends on version ^0.3.1
- polymer 1.0.0-rc.2 depends on version ^0.3.1
- polymer_elements 1.0.0-rc.1 depends on version ^0.3.1
I also try to do pub cache repair but it didn't help. Any ideas what might be wrong?

Proper use of dart transformer

I have the following line in my pubspec.yaml file
transformers:
- di
- polymer:
entry_points: web/index.html
di package is imported as a depency - no problem there.
When I attempt an 'Upgrade Dependencies' the following error results
No dependencies changed.
Error on line 29, column 3 of pubspec.yaml: A transformer map must have a single key: the transformer identifier.
- polymer:
^^^^^^^^^
I have looked at other examples that seems similar to mine, including https://www.dartlang.org/tools/pub/assets-and-transformers.html#specifying-transformers but is unable to correct the error.
Thanks for helping.
Remove the indentation before the transformers like
transformers:
- di
- polymer:
entry_points: web/index.html

Pub get 'Connection closed before full header was received' Angular + Polymer

I am trying to get packages from the PUB with the following:
name: 'ch_padart'
version: 0.0.1
dependencies:
angular: "1.1.0"
angular_node_bind: any
polymer: ">=0.15.5+2 <0.16.0"
core_elements: ">=0.6.0+4 <0.7.0"
paper_elements: ">=0.6.1 <0.7.0"
web_components: ">=0.9.0 <0.11.0"
browser: ">=0.10.0+2 <0.11.0"
dev_dependencies:
unittest: ">=0.11.0+5 <0.12.0"
mock: ">=0.11.0+2 <0.12.0"
transformers:
- angular:
html_files:
- web/index.html
- polymer:
entry_points: web/index.html
lint: false
but the end result is always 'Connection closed before full header was received'
If you remove angular OR polymer (and elements) and then run pub get, there is no issue and all download and runs fine. No other warnings are displayed and --verbose yields nothing helpful that I can see.
When you run pub get -v from command line you will see that pub is working quite hard but can't find a compatible set of dependencies. There was a similar issue recently that the I guess the collection package was required in different dependencies with non-overlapping version constraints.
This is quite common when using Angular with Polymer.
You might need to investigate the dependencies manually to find the cause.
Maybe you get some feedback from pub get when you remove all dependency constraints and then start adding them again one by one.
the pubviz packages helps to resolve this kind of issue as well: https://pub.dartlang.org/packages/pubviz

Missing web/index.html_bootstrap.dart.js at dart-polymer project

I have a dart project using polymer. When I call pub build or select "Run as JavaScript" on web/index.html the generated build/web/index.html has the following line at the end:
<script src="index.html_bootstrap.dart.js" async=""></script>
But I can't find index.html_bootstrap.dart.js anywhere.
From my pubspec.yaml:
dependencies:
browser: 'any'
core_elements: '>=0.6.0+4 <0.7.0'
paper_elements: '>=0.6.1 <0.7.0'
polymer: '>=0.15.5 <0.16.0'
polymer_expressions: '>=0.13.0+1 <0.14.0'
transformers:
- $dart2js:
$include: lib/*.dart
csp: true
- polymer:
entry_points: web/index.html
csp: true
How and when is index.html_bootstrap.dart.js generated?
AFAIR this script selects if Dart or JS source should be loaded but pub build doesn't support Dart ouput for client code yet.
I think this transformer removes this tag https://pub.dartlang.org/packages/dart_to_js_script_rewriter (didn't try it myself yet)
This is caused by $dart2js transformer, remove this transformer and then build again.
dependencies:
browser: 'any'
core_elements: '>=0.6.0+4 <0.7.0'
paper_elements: '>=0.6.1 <0.7.0'
polymer: '>=0.15.5 <0.16.0'
polymer_expressions: '>=0.13.0+1 <0.14.0'
transformers:
- polymer:
entry_points: web/index.html
csp: true
or put $dart2js after polymer transformer:
dependencies:
browser: 'any'
core_elements: '>=0.6.0+4 <0.7.0'
paper_elements: '>=0.6.1 <0.7.0'
polymer: '>=0.15.5 <0.16.0'
polymer_expressions: '>=0.13.0+1 <0.14.0'
transformers:
- polymer:
entry_points: web/index.html
csp: true
- $dart2js:
$include: web/index.html_bootstrap.dart

Resources