Based on the discussion in #776 we can't reliably check if a given
element has a particular property at the compilation time. As such
the existing algorithm detecting "missing" directives can't be used.
We need to see if there is a different / better algorithm or maybe
those checks need to be moved later in the process (runtime). Leaving
integration tests in place (disabled) so we can come back to the
topic after unblocking the situation.
This commit effectivelly reverts 94e203b9df
* `npm install` now does a full install; auxiliary installation steps
have been integrated into the `postinstall` script.
* Updated developer docs `DEVELOPER.md` accordingly; also added
instructions to dev docs for performing full tests (via `npm test`) --
same as those run on Travis.
* Reorg in tests so that JS tests can run without a Dart env.
Partly fixes#945 **under the assumption that when running JS tests
locally, `ChromeCanary` is the desired browser to use**. Note that CI
tests (Travis) still uses `DartiumWithWebPlatform` across the board
(Maybe because ChromeCanary isn't being installed?)
Fixes#1012.
Closes#1010
In view_container.js, templateElement.parentNode can be null
when two template tags are nested in one another.
Accessing the parent node through view.nodes[0].parentNode fixes
the problem.
closes#997Closes#999
Docs for the "Injecting a directive from the current element" indicate that having a dependency of `dependency: Dependency` should cause the current element's dependency to be injected, but then uses the ID value from the parent element in the example.
Closes#1032
In the case that there were more than one comment blocks preceding a block of
code, the visitor was only attaching the first comment. Really what we
should do is to attach the last comment before the code block.
so people using something like systemjs won't break the promise chain and at the same time shows that it's a promise
```es6
Promise.all({
app1: System.import('app1').then(module => module.main()),
app2: System.import('app2').then(module => module.main()),
app3: System.import('app3').then(module => module.main())
})
.then(function(injectors) {
console.log('dem injectors', injectors);
});
```
Closes#967
Performed a slight refactoring of CI scripts to make it easier for
developers to run the **same** tests as those run on Travis. Defined
`npm` scripts `test-js` and `test-dart`. `npm test` now runs the whole
lot.
Closes#966
A first edition of `DEVELOPER.md` inspired from the angular.dart version
and expanded to include instructions given in this repos’ `README.md`
(which has been cleaned up and padded up).
Closes#946
- `package.json`: explicit path to `node_modules/.bin` isn't needed
since npm prepends it to `PATH`. See [nmp scripts
doc](https://docs.npmjs.com/misc/scripts#path).
- `.bowerrc`: [Bower's default
directory](http://bower.io/docs/config/#directory) is
'bower_components', hence no need to explicitly set it to this value.