-
-
Notifications
You must be signed in to change notification settings - Fork 150
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
feat(jit): move/extend attribute value parsing to the expression parser #98
Conversation
Code Climate has analyzed commit 4aacbce and detected 4 issues on this pull request. Here's the issue category breakdown:
The test coverage on the diff in this pull request is 87.6% (50% is the threshold). This pull request will bring the total coverage in the repository to 76.8% (-0.2% change). View more on Code Climate. |
…ttribute values refactor(expression-parser): make bindingType mandatory and pass the correct types to the parser everywhere
Codecov Report
@@ Coverage Diff @@
## master #98 +/- ##
=========================================
Coverage ? 75.61%
=========================================
Files ? 75
Lines ? 5589
Branches ? 959
=========================================
Hits ? 4226
Misses ? 1363
Partials ? 0
Continue to review full report at Codecov.
|
@EisenbergEffect @bigopon template-compiler.ts should be in a more "intention-revealing" state now. I'm leaving semicolon-separated attribute parsing behind in a limbo of sorts (that is, there's a placeholder with the right shape but I'm not sure if it works). If the changes are ok with you then this should be good to merge. |
Nice. Lgtm. This is what I wanted to do for vcurrent as well, when we already have template literal parsing in place, not really needed to have it again in the syntax intepreter. |
Much cleaner. Very nice improvements! We can circle back around and address semicolon-separated attribute parsing at a later time. No worries there. |
commit 814b8131ccd5a6175f216c9812d8f336cb805b3f Author: Rob Eisenberg <rob@bluespire.com> Date: Mon Sep 17 20:31:11 2018 -0700 chore(all): prepare release 0.2.0 commit 029bbeb357469625f633f49dbbf19fa164fa2aa0 Author: Rob Eisenberg <rob@bluespire.com> Date: Mon Sep 17 20:20:16 2018 -0700 chore(all): revert prepare release This reverts commit edde2026f4f9759288f5546eeaace9f3210778cc. commit ce2be3911f7b73785ba988ff96442ff6c7c2f282 Author: bigopon <bigopon.777@gmail.com> Date: Tue Sep 18 10:07:01 2018 +1000 fix(template-compiler): remove node after parsing (#181) commit 38c1d7b179ce101c8bba067b7030479bf15d5eb5 Author: bigopon <bigopon.777@gmail.com> Date: Mon Sep 17 09:22:26 2018 +1000 test(binding): increase tests coverage (#149) * ci: temporarily disable flaky and time-consuming jobs * test(binding): increase tests coverage * flat nested loop in test, short circut on node * rename: loopCartesianJoin -> eachCartesianJoin * fix update index * chore(observation): small typings fix * refactor(test-util): change spread to array for eachCartesianJoin * fix(observer-locator): do not access getter Node prototype properties directly * fix(ast): default to PLATFORM.noop for unsupported AST operations test(binding): small tweaks to cartesian join, increase test coverage on binding * refactor(test): take string dependency out of cartesian join * chore(test): fix slip-up in the loop * test(binding): cleanup and add preliminary from-view tests * test(binding): add from-view tests, various small fixes in testing util * test(binding): move cartesianJoin to test-lib and split up factory / non-factory version * test(binding): add changeSet assertion * fix(setter-observer): fix an issue where the target property isn't updated during bind() fix(property-observer): fix an issue where undefined wouldn't propagate to the target if it's the first value test(binding): add preliminary two-way binding tests * test(binding): beef up two-way tests and add some comments * test(binding): remove .only commit acde70e66862ac6767533794adb6a04196613dc1 Author: Praveen Gandhi P <praveengandhi.p@gmail.com> Date: Mon Sep 17 02:57:55 2018 +0530 examples: jit-fuse-box-ts (#179) * examples: jit-fuse-box-ts * npm script renamed to match with README * all examples README and package.json scripts unified commit 238450d1584eb8893736fb8a457e3656f9bba834 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 08:21:19 2018 +0200 ci: actually commit to release after merging (#178) commit b2c56a19024c61bcf9fcb00c03d8ea018f9d2dcd Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 06:08:46 2018 +0200 fix the tags workflow (#177) * test * ci: create explicit tag workflow * ci: remove --no-ff flag commit 090cadb5f1e8c6b5c17c3af2af8be25ce13e2c38 Author: Rob Eisenberg <rob@bluespire.com> Date: Sat Sep 15 20:47:31 2018 -0700 chore(all): test release commit 12e2e1009b1d51372ab3bd3fc539c9a3a34db1d9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 05:06:00 2018 +0200 ci: add tag filter for install job (#176) commit edde2026f4f9759288f5546eeaace9f3210778cc Author: Rob Eisenberg <rob@bluespire.com> Date: Sat Sep 15 19:36:55 2018 -0700 chore(all): prepare release 0.2.0 commit 66afb94b367eccc5cf1aefa69afa736434d5dc0b Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 03:39:34 2018 +0200 ci: temporarily disable flaky and time-consuming jobs (#175) * ci: temporarily disable flaky and time-consuming jobs * ci: let e2e no longer depend on build job commit f2083ef837b28752ee08b6ce525a4d4998dcad4f Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 02:24:19 2018 +0200 chore(tests): add verbose test command for mocha reporter (#174) commit 32c1c739f091ad700291ea2475a1241ab000ade1 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 00:28:21 2018 +0200 chore(tests): use progress instead of mocha reporter to speed up the test runner (#172) commit bf2bd18c6e7e6d510f18cfb73a1d17f56d356d57 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 00:07:12 2018 +0200 Upload iife bundles to azure (#170) * ci(upload): add upload scripts that uploads iife bundles to azure storage * chore(bundle): fix logging typo * ci(azure): add logging to clarify destination urls * docs(examples): replace local file with blob url * build(iife): fix iife full bundle * docs(examples): remove package.json and update readme commit 978c2f01a4d3c27feb1f48454ee9990f193e928e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 08:30:22 2018 +0200 examples (#169) * docs(examples): cleanup and update jit-aurelia-cli * docs(examples): cleanup and update jit-browserify * chore(examples): add rimraf scripts * chore(examples): update gitignore * docs(examples): cleanup and update jit-parcel * docs(examples): move examples to top-level folder * docs(examples): add webpack example * docs(examples): add iife example * docs(iife): single bundle file commit 76c783cd8920a4eccd944023b82aea2a89a2e494 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 05:07:26 2018 +0200 chore(benchmark): fix tsconfig tslib issue (#168) commit 5be90727b8d81fbfe1b879c1bb860bf9b52a3118 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 01:43:30 2018 +0200 build(all): first attempt at rolling up (#161) * build(all): first attempt at rolling up * build(rollup): use normal sourcemaps * build(rollup): add tslib and fix named globals * build(rollup): change package.json main/module * test(e2e): add tslib * test(e2e): add package-lock * build(rollup): cleanup scripts, add iife outputs * build(all): add browser field for iife modules * build(rollup): cleanup bundle creation, explicitly name iife files * ci(e2e): switch to npm ci for installing the e2e tests * build(all): cleanup build scripts and outputs * build(rollup): fix cleanup scripts and make bundle a bit more flexible * chore(all): remove publish:local from npm init script commit cc48ffad85878026e550e7008c57f9db87c9233d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Sep 12 19:15:43 2018 -0700 doc(readme): adding more badges commit a71092f9f7fcb5101900eb515964ca3ae2bbd115 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:49:56 2018 +0200 chore(codeclimate): remove comment that might break yml (#162) commit c923f1ff0673c5bad646adf866bfa8ae70cea538 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:49:16 2018 +0200 test(e2e): properly mark failures and improve logging/reporting (#159) * test(e2e): properly mark failures and improve logging/reporting * test(e2e): restructure and add tests for select element * test(e2e): fix errorcode typo and add todo specs back in * test(e2e): improve titles and add a few more select tests * test(e2e): fix slip-up in select test * test(e2e): add some more small fixes and disable failing tests for safari/edge commit 9834cbab2bd9c8aa297bb9c3a3465840e0fc9e9d Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:44:40 2018 +0200 chore(binding): improve typings (#156) commit b90741aec2d781ab54c15752135b75cb3a97e9f4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 06:30:01 2018 +0200 ci(all): add automated publish@latest script / minor tweaks (#158) commit 4b225bd1cafd72d8d9ea16f5484038a362c5be70 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 05:53:24 2018 +0200 chore(all): add validate-commit-msg hook and commitizen script (#157) fix #127 commit 2cfded18f26e135ad6ea85c2a239f321415a37cf Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 11 20:38:14 2018 -0700 chore(codeclimate): disable similar code check commit 823cb66be03eff320351e68cdb66815dcf86dd81 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 00:15:16 2018 +0200 chore(all): cleanup build scripts, fix nightly dependency versions (#155) * chore(all): cleanup build scripts, fix nightly dependency versions * chore(scripts): remove unused protractor conf * doc(scripts): add info where the typings come from commit 66504c8442621e993d46b0efe13c29e9b0f8193d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 11 15:12:46 2018 -0700 Dynamic Composition - Phase 1 (#124) * feat(create-element): experimenting with supporting JSX This PR adds a createElement function with the same signature that compilers generate JSX for. The implementation isn't complete but should serve as a PoC for how we can hopefully accomplish several things: 1. Enable custom elements to support a `render` method that returns JSX for the element's template. 2. Enable an low-level API for creatings element templates, view factories and views, for extremely dynamic template generation without the need for the view compiler. 3. Provide the low-level API to be used by the `compose` element in order to support declarative dynamic composition. * fix(custom-element): address typo in method check * feat(compose): incrementally working towards implementation * fix(custom-element): remove special $child prop Instead, let people add directly to the attachables and bindables collections. We still need to address the issue with views where they always get their scope from the renderable they are in. Compose will need to provide a special scope. * feat(view): remove animations apis from view These were temporarily added during a refactoring earlier. They aren't used anywhere now that ViewSlot is gone. So, I'm removing them to simplify the View implementatino before I add some new stuff. * feat(renderable): enable dynamically added children * feat(custom-element): enable better handling of containerless scenarios * fix(compose): correct inject metadata * feat(compose): enable composing of loose views * feat(compose): support rendering more types * feat(createElement): support text nodes and targeted instructions * test(compose): stubbing out basic tests * test(compose): first set of compose tests * test(compose): add basic swap tests * chore(render-context): remove unused imports * chore(compose): clean up provide view logic commit ac133febcb65e939d923848fd92e2ca24622623c Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 21:48:55 2018 +0200 chore(all): add refresh convenience script (#154) * chore(all): add refresh convenience script * doc: explain refresh command * chore(refresh): use git rm instead of rimraf commit 649b960f2f681ff242f8a6533899a7c05c20bb6a Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 21:45:50 2018 +0200 test(kernel): add toArray() and unit tests (#153) commit a2be6185b805de6e5a61bdad88250e3d41cd2ef7 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 05:03:22 2018 +0200 chore(ci): cleanup and combine coverage more properly (#152) * chore(ci): cleanup and combine coverage more properly * test(di): fix test error for firefox * chore(codeclimate): fix codeclimate coverage thing commit 6bc2d4d2eb845576c56767a095de6c2639718cf9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 00:46:41 2018 +0200 DI tests (#150) * chore(test): extract test util into shared files * test(di): add initial tests to find edge cases for designParamTypes * test(di): improve test coverage fix(di): invoke correct method on array strategy resolver feat(di): recurse through static registrations to find register methods in more edge cases fix(di): invalidate Object keys to help diagnose invalid design:paramTypes refactor(di): append new resolvers on existing keys to a single array strategy resolver instead of nesting them fix(di): add a non-any type alternative to the InterfaceSymbol<T> so that container.get() returns correctly typed instances * test(jit): fix a few broken tests * chore(di): improve typings commit a87b09bb6bc20c6f3694fefe1850d59249001edb Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Sep 10 07:30:46 2018 +0200 chore(ci): make the distribution of tests more sensible (#151) * chore(ci): make the distribution of tests more sensible * chore(browserstack): don't run chrome/ff tests on OS X for now * chore(ci): add some comments to config.yml commit 1c8046c46c2a6db7669c52fa537258e90e62c3fe Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 9 23:10:53 2018 +0200 browserstack (#144) * test(jit-browserify): initial implementation for browserstack * chore(ci): split up e2e build from run * chore(ci): add basic browserstack targets * chore(ci): actually enable browserstack * chore(ci): reuse steps * chore(ci): use a different port for browserstack * chore(ci): store firefox unit test artifacts * chore(ci): use a different port per target * chore(ci): reuse more steps and use local identifier for parallelism * chore(ci): use unique local identifier * chore(ci): use localhost again for webdriver * chore(ci): try them one by one? * chore(ci): docker doesn't like ip addresses today * chore(ci): or it's the local identifier * chore(test): increase the timeout for slowpoke browser * test(browserstack): add a specialized top-level e2e folder * chore(browserstack): store allure report * chore(ci): big suite for master, small suite for other branches * chore(ci): cleanup circleci yaml * chore(browserstack): add extra timeout for edge.. * chore(ci): generate allure report * chore(browserstack): fix edge check * chore(ci): generate allure report in separate step * chore(browserstack): use safari 10 instead of 11 due to bug * chore(ci): clean up env variables, post link to allure * chore(ci): fix imports * chore(ci): post allure to PR comment * chore(allure): fix typo commit cccab1f9c2df8d18a117b52e1d5322a165fab2bd Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 9 04:09:00 2018 +0200 Code climate (#148) * chore(codeclimate): loosen complexity and add proper excludes * chore(codeclimate): exclude array-observer * chore(tslint): remove tslint-no-unused-expression-chai since tests are already ignored * chore(codeclimate): fix exclude globs commit 4aa853861a47bfe145c30dafcf11af4e6d7a0ef1 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 9 11:52:52 2018 +1000 feat(template-compiler): as-element (#146) * feat(template-compiler): as-element * remove redundant test commit eccc71fd53093b4376cbbc4008fe6e88240fd2e7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Sep 8 10:58:47 2018 -0700 chore(codeclimate): remove tsling plubin I believe that the fact that we're using a custom lint rule based on a special NPM module is causing codeclimate to fail, since it doesn't have the referenced package when it runs linting. commit c2a8324ee5320f52a09b19f1e44401fa1086280a Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 9 02:18:56 2018 +1000 feat(Let): let binding (#132) * feat(runtime): Let binding, priorityInstructions * refactor(Let): add LetElementInstruction * fix(let): cleanup * fix(template compiler): slot signal commit 76d1aa3af248c435dd6e895a1758f7cf06d07cf4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 23:16:24 2018 +0200 chore(ci): add firefox test runner (#142) * chore(ci): add firefox test runner * chore(ci): add test results for firefox * test(firefox): don't test shadowdom if it's not available * test(firefox): correct copy paste error commit 6920653a27b0e68c1363130a8da8c4900fe1e3b5 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Sep 6 23:15:42 2018 -0700 doc(readme): add BrowserStack logo This is needed in order to get open source support from BrowserStack. commit 1075d37994e82d69ba68b30001eddf284367fca8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 05:14:52 2018 +0200 badges (#141) * chore(test): add bail option and blackbox testing framework * chore(all): add a normal build script for consistency * chore(all): add license to all packages * doc: add preliminary documentation * docs: add readme for examples * docs: clarify how to speed up tdd * docs: fix url typo * docs: add extra tip for speeding up tdd workflow * doc: fix typo * chore(all): remove parallelism from top-level test/lint for better console output readability * docs: add missing hashtag to engineering readme * docs: fix typo in badge * docs: a little bit less badges commit ac95588c1425a9650e4af58849887eb68e60b6bd Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Sep 6 20:09:31 2018 -0700 chore(tools): add basic code climate config file commit eccb1960ad253229c651cfa0c41ad7b418887856 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 04:07:09 2018 +0200 initial docs (#140) * chore(test): add bail option and blackbox testing framework * chore(all): add a normal build script for consistency * chore(all): add license to all packages * doc: add preliminary documentation * docs: add readme for examples * docs: clarify how to speed up tdd * docs: fix url typo * docs: add extra tip for speeding up tdd workflow * doc: fix typo * chore(all): remove parallelism from top-level test/lint for better console output readability * docs: add missing hashtag to engineering readme commit 43b4b2c74dce355fa1bcbbb4da3c030f6756a99e Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Sep 5 16:28:23 2018 -0700 doc(readme): clean out old stuff commit 581a6806621a4096d5f74cc149abc89c624d371f Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 6 01:00:18 2018 +0200 fix(observer-locator): add collection length back in, fix precedence, add tests (#139) * fix(observer-locator): add collection length back in, fix precedence, add tests * fix(length-observer): add subscribe method commit cf8390bc88ab528feda6c8e9f3c8ed90a5da8060 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 20:08:16 2018 +0200 Fix runtime behavior (#138) * fix(runtime-behavior): pass target flags to getterSetter observer * fix(binding): report flags instead of nonexistent context commit 606c909a785084354e11a563c65ab0cab2c70acc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 07:54:11 2018 +0200 chore(ci): restore cron schedule and default workflow (#137) commit 9de6ea49698fdcb52401227399ceb50f589b12a7 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 07:45:18 2018 +0200 chore(ci): fix oauth (#136) * chore(ci): fix oauth * chore(ci): try a sneaky publish :) * chore(ci): don't verify npm access commit 05e6536728bfae035e5a434481c40c632e41d7d4 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 4 20:39:06 2018 -0700 testing auto publish commit 1b7c76430f312e49ac91eb586c0cfb845a98628d Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 05:25:42 2018 +0200 nightly publish (#135) * chore(all): bump the rest up to 0.1.1 * chore(all): prepare publish-nightly scripts * chore(ci): add cron schedule for nightly publish * chore(ci): cleanup config.yml formatting * chore(all): explicitly specify files to publish, cleanup gitignore * fix(examples): correct versions * chore(ci): disable parcel e2e job until the module duplication is solved * chore(all): cleanup redundant outputs and use newer target version * chore(ci): use provided tag * chore(ci): add npm auth commit 5920299744115f3ac0d5247d8d1b10cd31d817b9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 03:59:07 2018 +0200 refactor(template-compiler): move stuff around / fix various edge cases (#134) * refactor(template-compiler): move stuff around / fix various edge cases * refactor(template-compiler): hoist attribute inspection array / fix tests commit 1067e0374de66a6acecd3094fa8eb159c7d29f6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Sep 3 23:15:11 2018 +0200 implement instructionCompiler / renderStrategy (formerly bindingCommand) (#133) * feat(jit): implement instruction-compiler decorator feat(runtime): implement render-strategy decorator refactor(template-compiler): various fixes and cleanups * refactor(template-compiler): move binding commands to decorators * fix(template-compiler): workaround for DI issue * fix(binding-command): rename file * fix(binding-command): pass correct bindingType to parser * chore(renderer): fix linting errors * chore(template-compiler): fix linting errors * refactor(binding-command): add handles method commit d17dbd92ab8cc4e7348c5311ddf0be8183070ec4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 06:24:57 2018 +0200 chore(all): add dev script and enable parallelism in some scripts (#131) commit d2f632f217eb2ad12b920c6e4e09f266b4b6e555 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 2 13:47:35 2018 +1000 fix(template-compiler): template controller instrs order, linking (#129) commit 0c2a40051b08237695f72d25da34304ad0b07d77 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 05:36:23 2018 +0200 Cleanup (#130) * chore(all): remove aurelia-pal-browser and aurelia-polyfills * chore(all): add more test-friendly chrome flags commit 8c70e39c5aec6f6b7540e354d21ea19315df88c0 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 01:47:55 2018 +0200 chore(all): separate local build from ci build (#125) * chore(all): separate local build from ci build * chore(all): fix recursion issue commit d584528ecef859334bbb7739fde9231bd07ce1e0 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 2 08:13:35 2018 +1000 Template compiler (#121) * feat(JIT): template compiler * handle template compiler * 2nd step template controller compilation * custom element compilation * adjust test * stronger assertion test * better shape for attr / element compilation * finish implementation, add tests * adjust tests * preserve next sibling reference * fixes + tweaks * fix(observer): store obj and propertyKey * handle no attr value case * fix(template-compiler): merge camel-kebab changes and reuse platform functions * fix(template-compiler): fix slip-up with attribute name * feat(TemplateCompiler): surrogate behavior commit fc9cbffb86a102ed84265e7cd396eb81a747de46 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 18:16:44 2018 +0200 refactor(all): remove viewslot (#123) commit 8debe4f78f9c0c351419c77969b66086549b7ee6 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 18:12:19 2018 +0200 camel-kebab (#122) * feat(kernel): add fast camelCase and kebabCase functions with caching * refactor(bindable): use platform.kebabCase commit 6381c5b14cf541873f87dfb2c2e2a6a9aba094b4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 06:01:45 2018 +0200 Event manager (#120) * fix(event-manager): use spec-compliant composedPath for shadowdom / fix linting * chore(listener): fix linting errors * fix(event-manager): fix .delegate and .capture, and add unit tests * test(jit): enable capture/delegate tests * test(event-manager): add preliminary shadow-dom tests * fix(typings): export event subscribers * test(runtime): remove .only * fix(event-manager): export listener tracker to resolve typing issues commit 797674faa552c767a4db2f6bc477644a0ead0ff4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 31 02:21:03 2018 +0200 Prepare publish (#115) * chore(all): add tsconfig and npm scripts for other build outputs * chore(all): add additional package.json fields * fix(tsconfig): correct extends path * chore(all): add npm-run-all to root and remove parcel-bundler * v0.1.1 * v0.1.1 * chore(all): fix tsconfig outdir commit acf9ebc03e84df5835dae0de8f5357aba8769937 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 31 02:11:33 2018 +0200 ast improvements (#119) * refactor(ast): switch while loops to for loops (same perf, more readable) perf(ast): various small perf tweaks / cleanup redundancies chore(ast): fix linting errors * perf(ast): first evaluate, then connect commit 8a8b619dc74349bc3958d387b4c55e42ff82f444 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 30 04:28:04 2018 +0200 e2e benchmark fixes + perf improvements (#110) * fix(e2e-benchmark): simplify markers and use setTimeout to include render time * perf(binding): remove unnecessary work / cleanup * refactor(binding): convert subscriber-collection to decorator for sync and async * chore(observers): utilize interface type merging commit 2ccc770673d59a164aee464ec5e5bdef03332856 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 29 16:52:25 2018 -0700 refactor(view): increase cohesion of view code (#111) commit 9517febc0d223b5338b31811b5f93655262643aa Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 30 01:51:58 2018 +0200 chore(examples): initial setup for aurelia-cli (#99) * chore(examples): initial setup for aurelia-cli * fix(jit-aurelia-cli): apply huochunpeng's fixes * fix(jit-aurelia-cli): fix html file * chore(jit-aurelia-cli): add e2e tests * chore(ci): add jit-aurelia-cli e2e tests commit a3db3a8da002a2373bdcc8db693fe2e24d4ecc60 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 28 08:04:36 2018 +0200 chore(examples): add e2e-benchmark (#108) * chore(examples): add e2e-benchmark * chore(e2e-benchmark): move vnext to subfolder and add vcurrent to benchmark * chore(ci): include other benchmark in circleci * fix(e2e-benchmark): fix vcurrent * fix(e2e-benchmark): add top-level deps * chore(ci): install top-level benchmark deps * fix(e2e-benchmark): various fixes to make it all work * chore(ci): fix paths commit 5577a53510218195ead43d156b0919ac31a9fe21 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 27 20:57:50 2018 -0700 refactor(runtime): lift resource methods (#107) * fix(binding-resources): lift register methods * fix(custom-attribute): life lifecycle methods * fix(custom-element): lift lifecycle methods * feat(binding-context): add helper for creating a basic scope commit 9236dec0903870ee178057ee72c2966d7c6c3a04 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 27 10:18:36 2018 -0700 fix(di): convert invokers to an array (#106) Also, did a number of lint fixups along the way. commit 22b32b5adfd70ebcb807e99b06c16f12841bb46a Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 26 19:25:42 2018 -0700 fix(runtime): convert if/else to use render location (#96) * fix(runtime): convert if/else to use render location * test(templating): fix template controller tests The fake view was a bit too fake :) As a result, it was possible to incorrectly implement template controllers. * refactor(if/else): some internal refactoring * refactor(if/else): remove some more duplication * test(if/else): add basic tests * test(if/else): a couple more basic tests for lifecycles * fix(if/else): set default value commit a52a27b2ff8bcf1e8799f1f5194afb78ffa27e6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 27 00:39:22 2018 +0200 fix test typings (#105) * chore(all): remove path alias from unit tests * chore(test): fixup relative paths and fix a few typing errors commit bb322910a3ff49704e03d3e27e3846a0b79fb1b8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:32:25 2018 +0200 resource-tests (#104) * fix(binding-behavior): fix BindingModeBehavior * fix(binding-behavior): fix debounce, add unit tests commit 7ade76e35c1d4ec69f69e6090aa0819404281f05 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:30:25 2018 +0200 add aot and router packages (#103) * chore(aot): add aot package boilerplate * chore(router): add router package boilerplate commit 9e1eb5a25b09f221a542974b63b3c9e9ce6b4749 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:28:50 2018 +0200 feat(dbmonster): make dbmonster aot example work again (#101) * fix(repeat): reuse views when re-binding and allow null observer for non-collection iterables * feat(dbmonster): make dbmonster aot example work again commit d80321192aa9240fd118fdfc458d80e09652a38a Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:25:03 2018 +0200 Browserify (#100) * feat(examples): add browserify example * chore(ci): add jit-browserify e2e tests to circle.yml * fix(jit-browserify): build before serve so the e2e tests can run commit 53864a1c7839febf792966d6459ca62801f94d23 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 07:34:44 2018 +0200 feat(jit): move/extend attribute value parsing to the expression parser (#98) * refactor(parser): extract template/object/array literal parsing into functions * chore(typescript): fix tsdk and tslint paths * refactor(jit): move interpolation parsing to the expression parser * fix(expression-parser): use a separate lookup for non-interpolation attribute values refactor(expression-parser): make bindingType mandatory and pass the correct types to the parser everywhere * refactor(template-compiler): make compiler flow a bit more logical * fix(template-compiler): use the target name instead of full name + fix tests commit 1ddff95f57cf63700a30a1bbf0993e5a86abebbc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Aug 25 03:58:57 2018 +0200 refactor(instructions): change number type to string (#97) * refactor(instructions): change number type to string, make const enum * fix(template-compiler): add dest to one-time instruction * test(renderer): add unit tests to verify parts of instruction processing, make some binding properties public * test(template-compiler): fix test commit 30e1099eac4e021f56d11741c4adb7778f82fcef Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 24 22:24:59 2018 +0200 fix(value-attribute-observer): don't notify subscribers if value hasn't changed (#95) commit 4dc6cb8a7b64b9ae52af33c1dc5ec323608b8623 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 24 16:57:49 2018 +0200 Subscriber collection (#91) * refactor(binding): decouple BindingFlags.context from subscribers * chore(test): fix typing errors * fix(element-observation): fix binding flags * refactor(binding-flags): cleanup unused flags * chore(test): switch to text-summary coverage * fix(checked-observer): fix fromValue updates / add unit tests refactor(binding-flags): add fromFlushChanges to reduce batching redundancy, and expand the zeroes * chore(property-observation): fix typing issue * refactor(binding-flags): rename binding-flags fix(element-observation): remove error-causing notify commit 6607a140a585e119cca3bc8cdb1a3bb9f1087402 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 21 07:52:12 2018 -0700 fix(runtime): remove lazy bindable location and encapsulate observer (#90) * fix(runtime): remove lazy bindable location and encapsulate observer * refactor(property-observation): improve parameter naming commit 08d4baced32965a95fd4f8e6408ded2ca6593a6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 21 01:50:04 2018 +0200 refactor(dom): use uppercase tag names (#88) * refactor(dom): use uppercase tag names * fix(event-manager): use uppercase tagname * refactor(dom): remove normalizedTagName commit d6a10b5fc2c30a18601e4df4d913aa466dd14a24 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 19 16:32:54 2018 +0200 Examples (#68) * doc(examples): initial setup for parcel+jit example * chore(jit-parcel): remove requirejs * chore(all): add jit-parcel example to lerna, change to peerDependencies * chore(jit-parcel): use normal dependencies * chore(all): add npm pack script & use the packages for the example * fix(jit-parcel): remove else for now, fix instructions * fix(template-compiler): wrap the nodes in a fragment * chore(examples): add convenience wrapper script to setup examples * fix(jit-parcel): remove path mappings from tsconfig * chore(all): remove examples from lerna and init script * chore(jit-parcel): update package-lock * fix(template-compiler): use firstElementChild instead of wrapper * feat(observers): auto-enable collection observers and make the toggles idempotent * fix(template-compiler): various small tweaks and fixes, make example work * fix(jit-parcel): make the example work with something simple * fix(aurelia): set isStarted=true after tasks have finished * test(jit-parcel): add e2e tests * chore(ci): configure e2e tests for circleci / organize a bit * fix(e2e): move publish into e2e job * fix(ci): fix typo * fix(ci): set the correct path before each cmd * fix(ci): try a different approach for the workspaces commit c1dd8e0ea5d88382a2753d773a038ae067cf1bdd Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Aug 17 09:44:33 2018 -0700 doc(readme): use code climate for coverage badge commit bcefe62b016cd54ad4b2e133489950137595ccf8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 17 18:25:07 2018 +0200 chore(ci): add code coverage for code climate (#73) * chore(ci): add code coverage for code climate * chore(ci): try a different approach for cc * chore(ci): add code climate coverage id commit 11b26a57874dbf9ce10d0365dbcd2e9446f08201 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Aug 16 15:57:25 2018 -0700 fix(runtime): dry up bindable callback behavior (#71) commit dd5b48adbe1dc6bc4db511130475ed6ff6ee4596 Author: EisenbergEffect <rob@bluespire.com> Date: Wed Aug 15 21:48:59 2018 -0700 test(runtime): fix broken tests due to changed API commit 49484e30385d1ae1af334cde20e1b0a60257cef7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 15 21:42:31 2018 -0700 refactor(all): improving a couple of method names related to resources (#70) commit 9e29f421c9dc0b59379cf9ca56eb0ed66b8c2e62 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 16 06:27:20 2018 +0200 refactor(all): more flags (#69) * refactor(all): more flags * refactor(binding-flags): rename and add clarifying comments * docs(binding-flags): add a few more comments * refactor(binding-flags): change context to origin * test(binding): fix broken test commit 40e51527cd09e7422fb2927c9ffd9835cd0a4ff0 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 16 02:20:15 2018 +0200 chore(test): create test file skeletons to make it a bit easier to get started (#65) commit 5830a3650eebf37431162d08882a9796d97de400 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 15 16:40:27 2018 -0700 feat(runtime): convert with attribute to use render location (#64) * feat(runtime): convert with attribute to use render location * test(with): add basic tests and refactor test assistance * testI(runtime): reduce duplication in template controller tests * test(runtime): make shared templatr controller tests more composable * feat(runtime): improvements to attribute and element bindable control and common interfaces * fix(runtime): correct observer current value update and callback ordering * test(kernel): add Toggle tests * fix(runtime): ensure all bindable callback slots are initialized * fix(runtime-behavior): remove use of Toggle in favor of simple boolean commit c7a82855b8cbc7ccc2a5e9e6efd8c5297db28855 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 20:58:56 2018 +0200 fix(dom): append nodes to the correct thing (doh) (#66) commit 6889328b2ae518bde54288b6da257eef81ba6244 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 05:59:23 2018 +0200 Repeater (#63) * refactor(repeater): use render-location instead of view-slot / general cleanup * refactor(repeater): first implementation step for ForOfStatement commit c2a5e8289b7ba44dfe02c1ca63b003ce6fae6581 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 04:12:05 2018 +0200 Observer rework (#60) * refactor(binding): move the responsibility of batching target mutations to the target observers test(element-observation): add preliminary unit tests for element observers fix(repeat): adjust repeater logic + tests to new mutation batching mechanism * refactor(observation): move all element observers to element-observation * refactor(class-observer): update class-observer to the new mutation batching mechanism * refactor(checked-observer): update checked-observer to the new mutation batching mechanism * refactor(select-value-observer): update select-value-observer to the new mutation batching mechanism * chore(types): remove accidentally added file * chore(binding): cleanup unused accessor object * refactor(observers): rename/move target accessors, cleanup typings, fix linting errors * refactor(target-accessors): remove redundant previousValue * refactor(observers): move from 'hasChanges' to 'this.oldValue !== currentValue' * test(observers): re-sync spec structure for target-accessors * chore(binding): improve typings * refactor(observers): extract common logic out into a decorator / cleanup select-value-observer commit 981e6bf4b9ef339df05aa1d85880e03e2b5a2930 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 13 17:39:41 2018 +0200 chore(all): update lerna to 3.x non-rc (#62) commit c4e26d3970a0bae5e8b909ee24a16ba37cb26b25 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 13 08:39:05 2018 -0700 fix(runtime): interface clarity (#61) * refactor(runtime): renaming core interfaces for clarity * test(runtime): fix up tests after renaming * fix(runtime): correct kernel import * fix(runtime): make renderable and view factories interfaces have no default commit 7d1f8d4deb834cb4efbcbc4e76621d5eee82f955 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Aug 11 16:05:32 2018 -0700 feat(templating): convert replaceable to use render location (#59) * feat(templating): generalize attribute and element attachable child Previously, custom elements and custom attributes had a $slot property that could point to a render slot that was generated for template controller attributes or when something like compose asked for a slot representing itself. This change generalizes the mechanism by changing $slot to $child and switching to the more general IAttach interface, allowing custom attributes to connect an arbitrary attachable child into the attach lifecycle. In upcoming commits, this will enable a simplified implementation of replaceable and other single-child template controllers. Note that because IRenderSlot is an IAttach, advanced template controllers that manage multiple views still attach in the same as before. * feat(templating): switch replaceable to use render location * refactor(runtime): move test fakes to a shareable location This is in preparation for writing some more tests for other templating resources. * test(templating): add tests for replaceable attribute * test(replaceable): change chai assertion method commit 144b1c6347a4eacfdce82e130eaaba3ee01d61f5 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Aug 11 18:47:11 2018 +0200 feat(binding): implement ChangeSet (#58) * feat(binding): implement ChangeSet refactor(binding): use ChangeSet instead of TaskQueue refactor(property-observer): make reusable decorator for setter/observer * fix(observation): fix subscriber typing commit 3c9735e2c811df21da7c8f5333bc14433804367a Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Aug 10 21:42:25 2018 -0700 feat(templating): add the low-level render location abstraction (#57) * feat(templating): add the low-level render location abstraction * refactor(runtime): use "render location" terminology throughout Some minor refactoring in the render location tests as well. * fix(dom): correct TS error commit 19854e4224ed760cd6a9ab8f6d38d0edb2d10ac2 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:32:08 2018 -0700 doc(readme): add better TS badge commit a052f8b79a022e70c11588c9e6a08bf20a71f52d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:20:46 2018 -0700 chore(doc): add license badge commit b3891acd8c7fc2da378e38a952b010ff3ddcfd60 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:15:13 2018 -0700 doc(readme): remove improperly sized TS badge commit c48e9943222c70279a91635653efa601d7856073 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:09:30 2018 -0700 doc(readme): TypeScript badge commit 0a17b16827a86c5e5630f1a66777dad2f6466987 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 23:21:26 2018 -0700 Remove Shadow DOM Emulation (#56) * chore(runtime): initial deletion of shadow emulation code * feat(custom-elements): define basic abstraction for element projection Still a few TODOs left for the basic implementation. * doc(custom-element): add todo notes for DefaultSlotProjector The current set of projectors will handle every custom element scenario. However, a set of common scenarios around default slots could be further optimized. This commit adds notes outlining how a DefaultSlotProjector would work and under what conditions it could be used. * fix(templating): address trivial errors when removing emulation * fix(templating): remove shadow dom from compose element * fix(all): last few corrections from the merge * test(dom): fix unit tests * feat(runtime): enable getting the custom element behavior... ...for a particular node * fix(runtime): various fixes related to compose commit 70b669667a63cbf566fa6a19260ad876eee8f8b6 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 7 08:20:43 2018 +0200 refactor(all): remove vCurrent repeater and collection observers (#55) commit 8b44b1cd3a6913c9ae5e9824aced1a7b93b358d6 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 22:56:29 2018 -0700 doc(readme): change CircleCI to shield style badge commit a309ad6f69e99d1d929adb4f1bd2f17e21556bd0 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 22:52:08 2018 -0700 doc(readme): add lerna badge commit 8ab2173f304d231346a3382f440c22d148d307ce Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 7 02:30:11 2018 +0200 feature/jit-2 (#52) * chore(lint): allow switch without default * wip * feat(jit): implement interpolation & iterator (with destructuring) parsing feat(ast): initial implementation of ForOfStatement for iterating different collection types feat(ast): add metadata to the AST for ExpressionKind * refactor(jit): merge attribute name/value parsers into template-compiler refactor(jit): use IResourceDescriptions for looking up resources feat(jit): initial skeleton for customizeable binding commands * feat(jit): simple first implementation for template-compiler * fix(all): correct types/properties and fix unit tests * fix(template-compiler): small fixes, setup first simple integration tests commit cbe0e02fb98bc98bd8f901894c7128fcf367a8f3 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 5 21:16:18 2018 -0700 doc(readme): fix typos commit ce7d2502a9a105d345f60850f67ca66df60bd1d9 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 5 21:15:41 2018 -0700 doc(readme): cleaning up the readme a bit commit f0da3f34c8fd59830382951ffeb8ea0a28cc32d2 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 6 00:13:55 2018 +0200 chore(all): cleanup trailing whitespaces (#54) commit 69952c2835b17956a43d954f50739b64b6c7ae01 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 05:57:27 2018 +0200 feature/line-endings-3 (#51) * chore(git): force LF on everything * chore(all): reset line endings #2 commit 43283fff87eef6651be128e3835dda1d15b2e2c5 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 05:56:37 2018 +0200 chore(ci): remove dockerfile (moved to other repo) and use updated docker image (#50) commit 48445517978a7480548671a263e054965da1d8fa Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 04:10:47 2018 +0200 chore(all) reset everything to pick up the correct line endings (#49) commit fd3e90a0fa0cfec729e42523738a065938ad7947 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 03:17:36 2018 +0200 chore(all): export / mark as internal (for unit testing) + enable stripInternal (#48) * chore(all): export / mark as internal (for unit testing) + enable stripInternal * chore(git): add .gitattributes * chore(editorconfig): fix line endings commit 735231645aa7305820ace87f1590a65a72c63ddc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Aug 1 01:11:24 2018 +0200 feature/ci-fixes (#47) * chore(ci): fix unit tests and coverage to work on circleci * chore(ci): try another approach * chore(ci): fix junit path * chore(ci): try with hard-coded paths * chore(ci): fix package paths for test results commit 93025809cd7657c61aaaa4c156ef5e1ca43aa94b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Jul 31 09:53:47 2018 -0700 Monorepo Conversion (#46) * chore(monorepo): begin reorg * chore(monorepo): more organization * doc(engineering): placeholder for eng notes * doc(all): add some placeholder readme files * fix(kernel): scripts working * chore(kernel): fix all lint errors * chore(all): update dependencies * chore(all): cleanup/updates, start from scratch with the package.jsons, make stuff work * fix(all): lots of path fixes and a few typing fixes, make sure everything builds correctly * test(all): fix all tests * chore(test): fix the red squiggles for the tests * fix(test): make all the tests run via lerna * doc(all): add preliminary instructions for local setup * chore(all): add lerna lint script * chore(all): fix typing errors * chore(lint): reinstall tslint-no-unused-expression-chai * chore(lint): add tslint-microsoft-contrib with explicitly declared rules * chore(lint): loosen some unpragmatic rules and exclude test files * chore(lint): make all public accessors explicit * chore(lint): allow pascal-case variable names * chore(lint): align jsdoc comments * chore(lint): fix imports and quotes * chore(lint): allow parameter properties commit ba686bf379809b3098b74cdd7bd8ce66b4743873 Merge: 81d222e e4254a7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Jul 29 18:15:25 2018 -0700 Merge pull request #45 from aurelia/feature/e2e feature/e2e commit e4254a71cd76b4a3da51fb00cdf7dee4bc8c1187 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 10:20:32 2018 +0200 chore(ci): giving up on firefox for now commit adf24483a538f73ae24da8671f93475bcad614d1 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 10:00:57 2018 +0200 chore(ci): fix docker permission issues commit 2cf949f688145447b73b14986e76c0b1fe50c159 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 09:32:44 2018 +0200 chore(ci): add very basic protractor setup commit e6921b2ba81acbbeb774c91339474406d4769904 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 08:36:08 2018 +0200 chore(ci): fix permissions commit 6e70ca4efbf218b8269ba2c48ccbba2e797ad7f2 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 08:26:02 2018 +0200 chore(ci): try to fix firefox commit 81d222e349e1cdc495c3c034e3e1dfcfe5e2871f Merge: 10cb989 d4c791b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 22:53:01 2018 -0700 Merge pull request #44 from aurelia/feature/ci-build feature/ci-build commit d4c791b517143202b04894635fde6e973008b2b9 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:50:29 2018 +0200 chore(ci): disable firefox for now commit 7b68243aa7d6902a1c3b8101f0d6484155e91e56 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:46:47 2018 +0200 chore(ci): update firefox #2 commit c61aade91bbb275664df05c91303aa4925b263b5 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:34:14 2018 +0200 chore(ci): update to latest firefox commit 9bb2fd58ce920e1158eb04ca331e24c6e091f5b9 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:28:57 2018 +0200 chore(ci): add firefox to unit tests commit 0467be738e5827a25c14772b7ea1a1c1db56bfcc Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:02:27 2018 +0200 chore(ci): fix paths #3 commit 44e00a04ff74811f877ab550b63d718cff18fb67 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:00:56 2018 +0200 chore(ci): fix codecov path commit dfc2a72a860bcf936851a23ab3c6024bd1d8a776 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:58:21 2018 +0200 chore(ci): fix paths #2 commit 88dd96eff47569c8c3ab2ed426236df9231fb4c8 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:55:31 2018 +0200 chore(ci): fix workspace paths commit 6ad6b1f8b003c7557f20547ad6a2ec48ed51a84b Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:42:23 2018 +0200 chore(ci): fix artifacts path commit 5ea53df252e93401175e8ceeb2c0a44f072c0726 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:38:25 2018 +0200 chore(ci): run all tests and store coverage artifact commit 7ad02c49f22483e608375f6d50c8df8493d06189 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 02:05:49 2018 +0200 fix(observation): add unit tests for map/set observation & fix some issues refactor(observation): simplify map/set/array synchronization from the indexMap by explicitly tracking deleted items commit 7064c0f9eef9840430fcb953dcff145a093b0aa1 Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:45:52 2018 -0700 fix(DOM): accidental import add commit e5dc7b6f4645448e83ba224e90fda1aae1c63965 Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:43:20 2018 -0700 doc(runtime): clarify the purpose of several core items Also, added some notes on which things are likely to go away with the removal of shadow dom emulation. In the end, I'm hopeful that a good chunk of this will be simplified. However, I think it's likely going to still be very valuable to have core abstractions like ITemplates that create IViews. However, the simplicity can come from the fact that you will no longer need a RenderSlot to render the IView. You can basically just have an INode (or RenderLocation, which will just be an INode) and simply append the IView at the location. commit 2eeac366ff89727e57d1846344336dea8c54bea7 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:49:00 2018 +0200 chore(ci): configure codecov commit b8b01d77e0e4c9ba0927ec2126ca0791d8e104f4 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:40:11 2018 +0200 chore(ci): fix workflow deps commit 10cb98925caba6943202f15d6c05553879dfe073 Merge: 8d29d95 18f3bf8 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:20:40 2018 -0700 Merge pull request #43 from aurelia/feature/ci-tests feature/ci-tests commit 8d29d9504ee87f6b363b5e361e89d66869dc3e5f Merge: b6cee80 795c1de Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:20:06 2018 -0700 Merge pull request #42 from aurelia/feature/observation feature/observation commit b6cee8079d5b59b6f4f4cdf28805afb1c4461169 Merge: e78d073 c2dd03c Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:12:09 2018 -0700 Merge pull request #41 from aurelia/explain-view-implementations doc(runtime): clarify the purpose of several core items commit 9af1bfe34ac16a015bfcccbf82a418d89800a592 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 05:52:24 2018 +0200 chore(ci): add build job and switch to test-aot for building commit 18f3bf8b595505ab1979e1dfd7f806777864fd34 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:42:23 2018 +0200 chore(ci): fix artifacts path commit 943232621e88d8a7f6252317b51a84aa1ebbdbc0 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:38:25 2018 +0200 chore(ci): run all tests and store coverage artifact commit 795c1dec0461ef79a65138632e5b3b0f349e920d Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 02:05:49 2018 +0200 fix(observation): add unit tests for map/set observation & fix some issues refactor(observation): simplify map/set/array synchronization from the indexMap by explicitly tracking deleted items commit c2dd03cd2efea858adae7bc75c18d6c169083edb Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:45:52 2018 -0700 fix(DOM): accidental import add commit 2436a21209adc3c91b1a8c81fbf180d1d4e634df Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:43:20 2018 -0700 doc(runtime): clarify the purpose of several core items Also, added some notes on which things are likely to go away with the removal of shadow dom emulation. In the end, I'm hopeful that a good chunk of this will be simplified. However, I think it's likely going to still be very valuable to have core abstractions like ITemplates that create IViews. However, the simplicity can come from the fact that you will no longer need a RenderSlot to render the IView. You can basically just have an INode (or RenderLocation, which will just be an INode) and simply append the IView at the location. commit e78d07338dda35c6464e0590c251210a99e79e69 Merge: f15c1bc 3271c4c Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 12:07:00 2018 -0700 Merge pull request #40 from aurelia/feature/code-coverage feature/code-coverage commit f15c1bce4fd09dd0aa72747d4ea676cf3255e325 Merge: e81c33a dec74e8 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 12:04:57 2018 -0700 Merge pull request #39 from aurelia/feature/binding-mode feature/binding-mode commit 3271c4c315324bdedce67b86b3350aae48ee64d5 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 20:59:32 2018 +0200 fix(ci): fix path commit 271da8cf1eda4b79af94c7fa803e875db9b022d4 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 20:00:21 2018 +0200 doc(ci): add badges commit 44681156d3f13f4261ba8c61f934acd871046e0d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 19:44:04 2018 +0200 chore(ci): fix junit coverage commit dec74e876a3d06b28bc802440b23125361f41c62 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 19:03:43 2018 +0200 test(binding/resources): add basic unit tests as a starting point fix(signals): correct argument count commit 1b7c345e9dda1657761f629d7e18cdaecb3c9e7c Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 17:51:52 2018 +0200 fix(binding/resources): update bindingBehaviors with flags and new bindingMode commit 4bb62abf2549257bec08d4a0258b050ac5fe3b7b Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 17:50:04 2018 +0200 refactor(binding-mode): deprecate oneWay and addturn bindingMode into flags refactor(binding): change things in the runtime accordingly, and apply a few optimizations to binding.ts (both related and unrelated to binding.ts) commit e81c33ad40f6956bc88a3e3fd5923cce485a4e49 Merge: 3ad2a6a 25c18ee Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 01:00:07 2018 -0700 Merge pull request #38 from aurelia/feature/ast refactor(ast): various perf tweaks / remove redundancy / make behavior more similar to normal js commit 3ad2a6a3c8842d13ab93efc0136a4af3f4170c11 Merge: a83b40b 1893be3 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 00:58:47 2018 -0700 Merge pull request #37 from aurelia/feature/repeater feat(repeater): implement repeater with the new observation logic commit a83b40b71bbbf6a58b2bbe7213bbdf2d4536e3b9 Merge: 1c4fabd 23463a2 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 00:50:46 2018 -0700 Merge pull request #36 from aurelia/feature/cleanup chore(all): remove unused deps / update deps / remove deprecated tests commit 25c18ee8cb2a5571ea40e9491a48a1a61247ecd2 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 09:02:09 2018 +0200 refactor(ast): various perf tweaks / remove redundancy / make behavior more similar to normal js commit 1893be3c74d4bea5401eae656a7a45dbc8d11ce1 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 08:47:09 2018 +0200 feat(repeater): implement repeater with the new observation logic commit 242b2bbb75a0e6fa4c0bee7cb6658343a689194c Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 06:30:04 2018 +0200 chore(ci): fix circle config for coverage commit a293f64da7abcf615c177b091feed7b63408af8e Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 06:06:22 2018 +0200 fix(coverage): hacky workaround to fix the dtd url for cobertura commit b1b81a6f5322fe869af7a8babedb294231cca318 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:47:40 2018 +0200 chore(ci): store coverage results commit 3de83f24270248c977c61198a4218e05cd85631d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:45:46 2018 +0200 chore(test): use normal text output and export circleci compatible report commit 25442dce282a8a14e1f8fc59a34a36c1b6a13d11 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:28:16 2018 +0200 chore(ci): add istanbul to docker image commit 23463a208754ed54be236ab2549d043c199de3dc Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:58:18 2018 +0200 chore(test): remove deprecated unit tests commit a35832b4850325d8604f92dc31d9cb79af9e84b1 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:57:00 2018 +0200 chore(all): update deps commit d506d3f14f6b9a842a776d4b3d123163dc8ec5b2 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:29:10 2018 +0200 chore(all): cleanup deps we don't use commit 1c4fabd8ca50905dac12c90531abf13309f294f4 Merge: ae7cf21 9e290a9 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 19:15:00 2018 -0700 Merge pull request #35 from aurelia/feature/ci chore(ci): enable npm ci verbose logging commit ae7cf215aea36a97dd8b3b51314a2cc1712155c8 Merge: c2cd3af 12b73f0 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 19:14:44 2018 -0700 Merge pull request #34 from aurelia/feature/binding-flags refactor(all): add binding-flags and reorder parameters to be more consistent commit 9e290a953a99cf6e43c999378a427163a2dd05f8 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:12:25 2018 +0200 chore(ci): enable npm ci verbose logging commit 12b73f0f17f22f62487fbc092778d49e0285664d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 03:55:49 2018 +0200 refactor(all): add binding-flags and reorder parameters to be more consistent commit c2cd3afc2d9c321baddabb6f1a6b0737475f22a4 Merge: 17793ff fd4a56b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 18:32:00 2018 -0700 Merge pull request #33 from aurelia/feature/connect-queue refactor(binding): remove connect-queue (temporarily) commit fd4a56bc1906ce6b89dad6d97b47315be7f54fd8 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 02:52:32 2018 +0200 refactor(binding): remove connect-queue (temporarily) commit 17793ffcc4fdcabacce7537c4bab25fdd9e0922a Merge: 639b606 0b88a15 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:41:57 2018 -0700 Merge pull request #32 from aurelia/feature/tsconfig chore(tsconfig): target es2015 and switch to explicit inclusion commit 0b88a15174bc3c01b34248fd3094b91db216208b Merge: e6dd9b9 639b606 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:41:22 2018 -0700 Merge branch 'master' into feature/tsconfig commit 639b60653e4eed16c343ef97cb70656aee055b00 Merge: 7c26800 b7213ad Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:39:47 2018 -0700 Merge pull request #31 from aurelia/feature/ci chore(ci): add basic circleci config for running unit tests commit 7c26800d564b0432b110576c69b94d9fe9db4880 Merge: 3222e4d 0183386 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:39:08 2018 -0700 Merge pull request #30 from aurelia/feature/binding refactor(binding): merge binding with connectableBinding and connect-queue commit 3222e4d44a9e95e2367a0d08decba9186fdaea09 Merge: e4403d4 383b052 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 23:17:15 2018 -0700 Merge pull request #29 from aurelia/feature/observation feat(observation): add improved collection observers commit e4403d4d7ab7d1731a1ad8f52edc8fed1bee7a46 Merge: 7d1b2cd 44c9464 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 19:46:28 2018 -0700 Merge pull request #28 from aurelia/feature/task-queue refactor(task-queue): change to a moving-cursor mechanism commit 7d1b2cdfd0bfd7c0e84f1ca4a593b010bbfc3adf Merge: 4192a3e 7458be7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 19:42:00 2018 -0700 Merge pull request #27 from aurelia/feature/dom refactor(dom): various perf tweaks commit e6dd9b9bd5db73b3c151e79990c02b03c65fec80 Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 11:29:07 2018 +0200 chore(tsconfig): target es2015 and switch to explicit inclusion commit b7213ad88b9130bcbe0896ce5cc201cef0a0040d Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 11:07:35 2018 +0200 chore(ci): add basic circleci config for running unit tests Just an initial skeleton setup. Doesn't do builds, code coverage, e2e tests and that sort of thing yet. Also included a custom Dockerfile which is published to the docker registry under aureliavnext/circleci. This is needed because the default circleci image for node 8 doesn't contain the latest npm version nor the latest chrome version, which causes issues. commit dfc17615d27db767fee621ed8eade6339f04887d Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 09:45:58 2018 +0200 chore(all): switch from yarn.lock to package-lock.json The main motivation for this is simplicity of the workflow for contributors: no additional tools to install. Since npm 6.x has added the "npm ci" command and this is actually much faster, as well as equally robust to regular yarn …
commit ae76a307e70855b4413e9fa9a9d2ca400da8869d Author: Fred Kleuver <fred@avurad.nl> Date: Thu Sep 20 00:51:41 2018 +0200 ci: fix the publish workflow commit 814b8131ccd5a6175f216c9812d8f336cb805b3f Author: Rob Eisenberg <rob@bluespire.com> Date: Mon Sep 17 20:31:11 2018 -0700 chore(all): prepare release 0.2.0 commit 029bbeb357469625f633f49dbbf19fa164fa2aa0 Author: Rob Eisenberg <rob@bluespire.com> Date: Mon Sep 17 20:20:16 2018 -0700 chore(all): revert prepare release This reverts commit edde2026f4f9759288f5546eeaace9f3210778cc. commit ce2be3911f7b73785ba988ff96442ff6c7c2f282 Author: bigopon <bigopon.777@gmail.com> Date: Tue Sep 18 10:07:01 2018 +1000 fix(template-compiler): remove node after parsing (#181) commit 38c1d7b179ce101c8bba067b7030479bf15d5eb5 Author: bigopon <bigopon.777@gmail.com> Date: Mon Sep 17 09:22:26 2018 +1000 test(binding): increase tests coverage (#149) * ci: temporarily disable flaky and time-consuming jobs * test(binding): increase tests coverage * flat nested loop in test, short circut on node * rename: loopCartesianJoin -> eachCartesianJoin * fix update index * chore(observation): small typings fix * refactor(test-util): change spread to array for eachCartesianJoin * fix(observer-locator): do not access getter Node prototype properties directly * fix(ast): default to PLATFORM.noop for unsupported AST operations test(binding): small tweaks to cartesian join, increase test coverage on binding * refactor(test): take string dependency out of cartesian join * chore(test): fix slip-up in the loop * test(binding): cleanup and add preliminary from-view tests * test(binding): add from-view tests, various small fixes in testing util * test(binding): move cartesianJoin to test-lib and split up factory / non-factory version * test(binding): add changeSet assertion * fix(setter-observer): fix an issue where the target property isn't updated during bind() fix(property-observer): fix an issue where undefined wouldn't propagate to the target if it's the first value test(binding): add preliminary two-way binding tests * test(binding): beef up two-way tests and add some comments * test(binding): remove .only commit acde70e66862ac6767533794adb6a04196613dc1 Author: Praveen Gandhi P <praveengandhi.p@gmail.com> Date: Mon Sep 17 02:57:55 2018 +0530 examples: jit-fuse-box-ts (#179) * examples: jit-fuse-box-ts * npm script renamed to match with README * all examples README and package.json scripts unified commit 238450d1584eb8893736fb8a457e3656f9bba834 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 08:21:19 2018 +0200 ci: actually commit to release after merging (#178) commit b2c56a19024c61bcf9fcb00c03d8ea018f9d2dcd Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 06:08:46 2018 +0200 fix the tags workflow (#177) * test * ci: create explicit tag workflow [ci skip] * ci: remove --no-ff flag [ci skip] commit 090cadb5f1e8c6b5c17c3af2af8be25ce13e2c38 Author: Rob Eisenberg <rob@bluespire.com> Date: Sat Sep 15 20:47:31 2018 -0700 chore(all): test release commit 12e2e1009b1d51372ab3bd3fc539c9a3a34db1d9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 05:06:00 2018 +0200 ci: add tag filter for install job [ci skip] (#176) commit edde2026f4f9759288f5546eeaace9f3210778cc Author: Rob Eisenberg <rob@bluespire.com> Date: Sat Sep 15 19:36:55 2018 -0700 chore(all): prepare release 0.2.0 commit 66afb94b367eccc5cf1aefa69afa736434d5dc0b Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 03:39:34 2018 +0200 ci: temporarily disable flaky and time-consuming jobs (#175) * ci: temporarily disable flaky and time-consuming jobs * ci: let e2e no longer depend on build job commit f2083ef837b28752ee08b6ce525a4d4998dcad4f Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 02:24:19 2018 +0200 chore(tests): add verbose test command for mocha reporter (#174) commit 32c1c739f091ad700291ea2475a1241ab000ade1 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 00:28:21 2018 +0200 chore(tests): use progress instead of mocha reporter to speed up the test runner (#172) commit bf2bd18c6e7e6d510f18cfb73a1d17f56d356d57 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 16 00:07:12 2018 +0200 Upload iife bundles to azure (#170) * ci(upload): add upload scripts that uploads iife bundles to azure storage * chore(bundle): fix logging typo * ci(azure): add logging to clarify destination urls * docs(examples): replace local file with blob url * build(iife): fix iife full bundle * docs(examples): remove package.json and update readme commit 978c2f01a4d3c27feb1f48454ee9990f193e928e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 08:30:22 2018 +0200 examples (#169) * docs(examples): cleanup and update jit-aurelia-cli * docs(examples): cleanup and update jit-browserify * chore(examples): add rimraf scripts * chore(examples): update gitignore * docs(examples): cleanup and update jit-parcel * docs(examples): move examples to top-level folder * docs(examples): add webpack example * docs(examples): add iife example * docs(iife): single bundle file commit 76c783cd8920a4eccd944023b82aea2a89a2e494 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 05:07:26 2018 +0200 chore(benchmark): fix tsconfig tslib issue (#168) commit 5be90727b8d81fbfe1b879c1bb860bf9b52a3118 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 14 01:43:30 2018 +0200 build(all): first attempt at rolling up (#161) * build(all): first attempt at rolling up * build(rollup): use normal sourcemaps * build(rollup): add tslib and fix named globals * build(rollup): change package.json main/module * test(e2e): add tslib * test(e2e): add package-lock * build(rollup): cleanup scripts, add iife outputs * build(all): add browser field for iife modules * build(rollup): cleanup bundle creation, explicitly name iife files * ci(e2e): switch to npm ci for installing the e2e tests * build(all): cleanup build scripts and outputs * build(rollup): fix cleanup scripts and make bundle a bit more flexible * chore(all): remove publish:local from npm init script commit cc48ffad85878026e550e7008c57f9db87c9233d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Sep 12 19:15:43 2018 -0700 doc(readme): adding more badges commit a71092f9f7fcb5101900eb515964ca3ae2bbd115 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:49:56 2018 +0200 chore(codeclimate): remove comment that might break yml (#162) commit c923f1ff0673c5bad646adf866bfa8ae70cea538 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:49:16 2018 +0200 test(e2e): properly mark failures and improve logging/reporting (#159) * test(e2e): properly mark failures and improve logging/reporting * test(e2e): restructure and add tests for select element * test(e2e): fix errorcode typo and add todo specs back in * test(e2e): improve titles and add a few more select tests * test(e2e): fix slip-up in select test * test(e2e): add some more small fixes and disable failing tests for safari/edge commit 9834cbab2bd9c8aa297bb9c3a3465840e0fc9e9d Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 13 03:44:40 2018 +0200 chore(binding): improve typings (#156) commit b90741aec2d781ab54c15752135b75cb3a97e9f4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 06:30:01 2018 +0200 ci(all): add automated publish@latest script / minor tweaks (#158) commit 4b225bd1cafd72d8d9ea16f5484038a362c5be70 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 05:53:24 2018 +0200 chore(all): add validate-commit-msg hook and commitizen script (#157) fix #127 commit 2cfded18f26e135ad6ea85c2a239f321415a37cf Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 11 20:38:14 2018 -0700 chore(codeclimate): disable similar code check commit 823cb66be03eff320351e68cdb66815dcf86dd81 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 12 00:15:16 2018 +0200 chore(all): cleanup build scripts, fix nightly dependency versions (#155) * chore(all): cleanup build scripts, fix nightly dependency versions * chore(scripts): remove unused protractor conf * doc(scripts): add info where the typings come from commit 66504c8442621e993d46b0efe13c29e9b0f8193d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 11 15:12:46 2018 -0700 Dynamic Composition - Phase 1 (#124) * feat(create-element): experimenting with supporting JSX This PR adds a createElement function with the same signature that compilers generate JSX for. The implementation isn't complete but should serve as a PoC for how we can hopefully accomplish several things: 1. Enable custom elements to support a `render` method that returns JSX for the element's template. 2. Enable an low-level API for creatings element templates, view factories and views, for extremely dynamic template generation without the need for the view compiler. 3. Provide the low-level API to be used by the `compose` element in order to support declarative dynamic composition. * fix(custom-element): address typo in method check * feat(compose): incrementally working towards implementation * fix(custom-element): remove special $child prop Instead, let people add directly to the attachables and bindables collections. We still need to address the issue with views where they always get their scope from the renderable they are in. Compose will need to provide a special scope. * feat(view): remove animations apis from view These were temporarily added during a refactoring earlier. They aren't used anywhere now that ViewSlot is gone. So, I'm removing them to simplify the View implementatino before I add some new stuff. * feat(renderable): enable dynamically added children * feat(custom-element): enable better handling of containerless scenarios * fix(compose): correct inject metadata * feat(compose): enable composing of loose views * feat(compose): support rendering more types * feat(createElement): support text nodes and targeted instructions * test(compose): stubbing out basic tests * test(compose): first set of compose tests * test(compose): add basic swap tests * chore(render-context): remove unused imports * chore(compose): clean up provide view logic commit ac133febcb65e939d923848fd92e2ca24622623c Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 21:48:55 2018 +0200 chore(all): add refresh convenience script (#154) * chore(all): add refresh convenience script * doc: explain refresh command * chore(refresh): use git rm instead of rimraf commit 649b960f2f681ff242f8a6533899a7c05c20bb6a Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 21:45:50 2018 +0200 test(kernel): add toArray() and unit tests (#153) commit a2be6185b805de6e5a61bdad88250e3d41cd2ef7 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 05:03:22 2018 +0200 chore(ci): cleanup and combine coverage more properly (#152) * chore(ci): cleanup and combine coverage more properly * test(di): fix test error for firefox * chore(codeclimate): fix codeclimate coverage thing commit 6bc2d4d2eb845576c56767a095de6c2639718cf9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Sep 11 00:46:41 2018 +0200 DI tests (#150) * chore(test): extract test util into shared files * test(di): add initial tests to find edge cases for designParamTypes * test(di): improve test coverage fix(di): invoke correct method on array strategy resolver feat(di): recurse through static registrations to find register methods in more edge cases fix(di): invalidate Object keys to help diagnose invalid design:paramTypes refactor(di): append new resolvers on existing keys to a single array strategy resolver instead of nesting them fix(di): add a non-any type alternative to the InterfaceSymbol<T> so that container.get() returns correctly typed instances * test(jit): fix a few broken tests * chore(di): improve typings commit a87b09bb6bc20c6f3694fefe1850d59249001edb Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Sep 10 07:30:46 2018 +0200 chore(ci): make the distribution of tests more sensible (#151) * chore(ci): make the distribution of tests more sensible * chore(browserstack): don't run chrome/ff tests on OS X for now * chore(ci): add some comments to config.yml commit 1c8046c46c2a6db7669c52fa537258e90e62c3fe Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 9 23:10:53 2018 +0200 browserstack (#144) * test(jit-browserify): initial implementation for browserstack * chore(ci): split up e2e build from run * chore(ci): add basic browserstack targets * chore(ci): actually enable browserstack * chore(ci): reuse steps * chore(ci): use a different port for browserstack * chore(ci): store firefox unit test artifacts * chore(ci): use a different port per target * chore(ci): reuse more steps and use local identifier for parallelism * chore(ci): use unique local identifier * chore(ci): use localhost again for webdriver * chore(ci): try them one by one? * chore(ci): docker doesn't like ip addresses today * chore(ci): or it's the local identifier * chore(test): increase the timeout for slowpoke browser * test(browserstack): add a specialized top-level e2e folder * chore(browserstack): store allure report * chore(ci): big suite for master, small suite for other branches * chore(ci): cleanup circleci yaml * chore(browserstack): add extra timeout for edge.. * chore(ci): generate allure report * chore(browserstack): fix edge check * chore(ci): generate allure report in separate step * chore(browserstack): use safari 10 instead of 11 due to bug * chore(ci): clean up env variables, post link to allure * chore(ci): fix imports * chore(ci): post allure to PR comment * chore(allure): fix typo commit cccab1f9c2df8d18a117b52e1d5322a165fab2bd Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 9 04:09:00 2018 +0200 Code climate (#148) * chore(codeclimate): loosen complexity and add proper excludes * chore(codeclimate): exclude array-observer * chore(tslint): remove tslint-no-unused-expression-chai since tests are already ignored * chore(codeclimate): fix exclude globs commit 4aa853861a47bfe145c30dafcf11af4e6d7a0ef1 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 9 11:52:52 2018 +1000 feat(template-compiler): as-element (#146) * feat(template-compiler): as-element * remove redundant test commit eccc71fd53093b4376cbbc4008fe6e88240fd2e7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Sep 8 10:58:47 2018 -0700 chore(codeclimate): remove tsling plubin I believe that the fact that we're using a custom lint rule based on a special NPM module is causing codeclimate to fail, since it doesn't have the referenced package when it runs linting. commit c2a8324ee5320f52a09b19f1e44401fa1086280a Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 9 02:18:56 2018 +1000 feat(Let): let binding (#132) * feat(runtime): Let binding, priorityInstructions * refactor(Let): add LetElementInstruction * fix(let): cleanup * fix(template compiler): slot signal commit 76d1aa3af248c435dd6e895a1758f7cf06d07cf4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 23:16:24 2018 +0200 chore(ci): add firefox test runner (#142) * chore(ci): add firefox test runner * chore(ci): add test results for firefox * test(firefox): don't test shadowdom if it's not available * test(firefox): correct copy paste error commit 6920653a27b0e68c1363130a8da8c4900fe1e3b5 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Sep 6 23:15:42 2018 -0700 doc(readme): add BrowserStack logo This is needed in order to get open source support from BrowserStack. commit 1075d37994e82d69ba68b30001eddf284367fca8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 05:14:52 2018 +0200 badges (#141) * chore(test): add bail option and blackbox testing framework * chore(all): add a normal build script for consistency * chore(all): add license to all packages * doc: add preliminary documentation * docs: add readme for examples * docs: clarify how to speed up tdd * docs: fix url typo * docs: add extra tip for speeding up tdd workflow * doc: fix typo * chore(all): remove parallelism from top-level test/lint for better console output readability * docs: add missing hashtag to engineering readme * docs: fix typo in badge * docs: a little bit less badges commit ac95588c1425a9650e4af58849887eb68e60b6bd Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Sep 6 20:09:31 2018 -0700 chore(tools): add basic code climate config file commit eccb1960ad253229c651cfa0c41ad7b418887856 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Sep 7 04:07:09 2018 +0200 initial docs (#140) * chore(test): add bail option and blackbox testing framework * chore(all): add a normal build script for consistency * chore(all): add license to all packages * doc: add preliminary documentation * docs: add readme for examples * docs: clarify how to speed up tdd * docs: fix url typo * docs: add extra tip for speeding up tdd workflow * doc: fix typo * chore(all): remove parallelism from top-level test/lint for better console output readability * docs: add missing hashtag to engineering readme commit 43b4b2c74dce355fa1bcbbb4da3c030f6756a99e Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Sep 5 16:28:23 2018 -0700 doc(readme): clean out old stuff commit 581a6806621a4096d5f74cc149abc89c624d371f Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Sep 6 01:00:18 2018 +0200 fix(observer-locator): add collection length back in, fix precedence, add tests (#139) * fix(observer-locator): add collection length back in, fix precedence, add tests * fix(length-observer): add subscribe method commit cf8390bc88ab528feda6c8e9f3c8ed90a5da8060 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 20:08:16 2018 +0200 Fix runtime behavior (#138) * fix(runtime-behavior): pass target flags to getterSetter observer * fix(binding): report flags instead of nonexistent context commit 606c909a785084354e11a563c65ab0cab2c70acc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 07:54:11 2018 +0200 chore(ci): restore cron schedule and default workflow (#137) commit 9de6ea49698fdcb52401227399ceb50f589b12a7 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 07:45:18 2018 +0200 chore(ci): fix oauth (#136) * chore(ci): fix oauth * chore(ci): try a sneaky publish :) * chore(ci): don't verify npm access commit 05e6536728bfae035e5a434481c40c632e41d7d4 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Sep 4 20:39:06 2018 -0700 testing auto publish commit 1b7c76430f312e49ac91eb586c0cfb845a98628d Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 05:25:42 2018 +0200 nightly publish (#135) * chore(all): bump the rest up to 0.1.1 * chore(all): prepare publish-nightly scripts * chore(ci): add cron schedule for nightly publish * chore(ci): cleanup config.yml formatting * chore(all): explicitly specify files to publish, cleanup gitignore * fix(examples): correct versions * chore(ci): disable parcel e2e job until the module duplication is solved * chore(all): cleanup redundant outputs and use newer target version * chore(ci): use provided tag * chore(ci): add npm auth commit 5920299744115f3ac0d5247d8d1b10cd31d817b9 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Sep 5 03:59:07 2018 +0200 refactor(template-compiler): move stuff around / fix various edge cases (#134) * refactor(template-compiler): move stuff around / fix various edge cases * refactor(template-compiler): hoist attribute inspection array / fix tests commit 1067e0374de66a6acecd3094fa8eb159c7d29f6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Sep 3 23:15:11 2018 +0200 implement instructionCompiler / renderStrategy (formerly bindingCommand) (#133) * feat(jit): implement instruction-compiler decorator feat(runtime): implement render-strategy decorator refactor(template-compiler): various fixes and cleanups * refactor(template-compiler): move binding commands to decorators * fix(template-compiler): workaround for DI issue * fix(binding-command): rename file * fix(binding-command): pass correct bindingType to parser * chore(renderer): fix linting errors * chore(template-compiler): fix linting errors * refactor(binding-command): add handles method commit d17dbd92ab8cc4e7348c5311ddf0be8183070ec4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 06:24:57 2018 +0200 chore(all): add dev script and enable parallelism in some scripts (#131) commit d2f632f217eb2ad12b920c6e4e09f266b4b6e555 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 2 13:47:35 2018 +1000 fix(template-compiler): template controller instrs order, linking (#129) commit 0c2a40051b08237695f72d25da34304ad0b07d77 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 05:36:23 2018 +0200 Cleanup (#130) * chore(all): remove aurelia-pal-browser and aurelia-polyfills * chore(all): add more test-friendly chrome flags commit 8c70e39c5aec6f6b7540e354d21ea19315df88c0 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Sep 2 01:47:55 2018 +0200 chore(all): separate local build from ci build (#125) * chore(all): separate local build from ci build * chore(all): fix recursion issue commit d584528ecef859334bbb7739fde9231bd07ce1e0 Author: bigopon <bigopon.777@gmail.com> Date: Sun Sep 2 08:13:35 2018 +1000 Template compiler (#121) * feat(JIT): template compiler * handle template compiler * 2nd step template controller compilation * custom element compilation * adjust test * stronger assertion test * better shape for attr / element compilation * finish implementation, add tests * adjust tests * preserve next sibling reference * fixes + tweaks * fix(observer): store obj and propertyKey * handle no attr value case * fix(template-compiler): merge camel-kebab changes and reuse platform functions * fix(template-compiler): fix slip-up with attribute name * feat(TemplateCompiler): surrogate behavior commit fc9cbffb86a102ed84265e7cd396eb81a747de46 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 18:16:44 2018 +0200 refactor(all): remove viewslot (#123) commit 8debe4f78f9c0c351419c77969b66086549b7ee6 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 18:12:19 2018 +0200 camel-kebab (#122) * feat(kernel): add fast camelCase and kebabCase functions with caching * refactor(bindable): use platform.kebabCase commit 6381c5b14cf541873f87dfb2c2e2a6a9aba094b4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Sep 1 06:01:45 2018 +0200 Event manager (#120) * fix(event-manager): use spec-compliant composedPath for shadowdom / fix linting * chore(listener): fix linting errors * fix(event-manager): fix .delegate and .capture, and add unit tests * test(jit): enable capture/delegate tests * test(event-manager): add preliminary shadow-dom tests * fix(typings): export event subscribers * test(runtime): remove .only * fix(event-manager): export listener tracker to resolve typing issues commit 797674faa552c767a4db2f6bc477644a0ead0ff4 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 31 02:21:03 2018 +0200 Prepare publish (#115) * chore(all): add tsconfig and npm scripts for other build outputs * chore(all): add additional package.json fields * fix(tsconfig): correct extends path * chore(all): add npm-run-all to root and remove parcel-bundler * v0.1.1 * v0.1.1 * chore(all): fix tsconfig outdir commit acf9ebc03e84df5835dae0de8f5357aba8769937 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 31 02:11:33 2018 +0200 ast improvements (#119) * refactor(ast): switch while loops to for loops (same perf, more readable) perf(ast): various small perf tweaks / cleanup redundancies chore(ast): fix linting errors * perf(ast): first evaluate, then connect commit 8a8b619dc74349bc3958d387b4c55e42ff82f444 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 30 04:28:04 2018 +0200 e2e benchmark fixes + perf improvements (#110) * fix(e2e-benchmark): simplify markers and use setTimeout to include render time * perf(binding): remove unnecessary work / cleanup * refactor(binding): convert subscriber-collection to decorator for sync and async * chore(observers): utilize interface type merging commit 2ccc770673d59a164aee464ec5e5bdef03332856 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 29 16:52:25 2018 -0700 refactor(view): increase cohesion of view code (#111) commit 9517febc0d223b5338b31811b5f93655262643aa Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 30 01:51:58 2018 +0200 chore(examples): initial setup for aurelia-cli (#99) * chore(examples): initial setup for aurelia-cli * fix(jit-aurelia-cli): apply huochunpeng's fixes * fix(jit-aurelia-cli): fix html file * chore(jit-aurelia-cli): add e2e tests * chore(ci): add jit-aurelia-cli e2e tests commit a3db3a8da002a2373bdcc8db693fe2e24d4ecc60 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 28 08:04:36 2018 +0200 chore(examples): add e2e-benchmark (#108) * chore(examples): add e2e-benchmark * chore(e2e-benchmark): move vnext to subfolder and add vcurrent to benchmark * chore(ci): include other benchmark in circleci * fix(e2e-benchmark): fix vcurrent * fix(e2e-benchmark): add top-level deps * chore(ci): install top-level benchmark deps * fix(e2e-benchmark): various fixes to make it all work * chore(ci): fix paths commit 5577a53510218195ead43d156b0919ac31a9fe21 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 27 20:57:50 2018 -0700 refactor(runtime): lift resource methods (#107) * fix(binding-resources): lift register methods * fix(custom-attribute): life lifecycle methods * fix(custom-element): lift lifecycle methods * feat(binding-context): add helper for creating a basic scope commit 9236dec0903870ee178057ee72c2966d7c6c3a04 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 27 10:18:36 2018 -0700 fix(di): convert invokers to an array (#106) Also, did a number of lint fixups along the way. commit 22b32b5adfd70ebcb807e99b06c16f12841bb46a Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 26 19:25:42 2018 -0700 fix(runtime): convert if/else to use render location (#96) * fix(runtime): convert if/else to use render location * test(templating): fix template controller tests The fake view was a bit too fake :) As a result, it was possible to incorrectly implement template controllers. * refactor(if/else): some internal refactoring * refactor(if/else): remove some more duplication * test(if/else): add basic tests * test(if/else): a couple more basic tests for lifecycles * fix(if/else): set default value commit a52a27b2ff8bcf1e8799f1f5194afb78ffa27e6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 27 00:39:22 2018 +0200 fix test typings (#105) * chore(all): remove path alias from unit tests * chore(test): fixup relative paths and fix a few typing errors commit bb322910a3ff49704e03d3e27e3846a0b79fb1b8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:32:25 2018 +0200 resource-tests (#104) * fix(binding-behavior): fix BindingModeBehavior * fix(binding-behavior): fix debounce, add unit tests commit 7ade76e35c1d4ec69f69e6090aa0819404281f05 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:30:25 2018 +0200 add aot and router packages (#103) * chore(aot): add aot package boilerplate * chore(router): add router package boilerplate commit 9e1eb5a25b09f221a542974b63b3c9e9ce6b4749 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:28:50 2018 +0200 feat(dbmonster): make dbmonster aot example work again (#101) * fix(repeat): reuse views when re-binding and allow null observer for non-collection iterables * feat(dbmonster): make dbmonster aot example work again commit d80321192aa9240fd118fdfc458d80e09652a38a Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 23:25:03 2018 +0200 Browserify (#100) * feat(examples): add browserify example * chore(ci): add jit-browserify e2e tests to circle.yml * fix(jit-browserify): build before serve so the e2e tests can run commit 53864a1c7839febf792966d6459ca62801f94d23 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 26 07:34:44 2018 +0200 feat(jit): move/extend attribute value parsing to the expression parser (#98) * refactor(parser): extract template/object/array literal parsing into functions * chore(typescript): fix tsdk and tslint paths * refactor(jit): move interpolation parsing to the expression parser * fix(expression-parser): use a separate lookup for non-interpolation attribute values refactor(expression-parser): make bindingType mandatory and pass the correct types to the parser everywhere * refactor(template-compiler): make compiler flow a bit more logical * fix(template-compiler): use the target name instead of full name + fix tests commit 1ddff95f57cf63700a30a1bbf0993e5a86abebbc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Aug 25 03:58:57 2018 +0200 refactor(instructions): change number type to string (#97) * refactor(instructions): change number type to string, make const enum * fix(template-compiler): add dest to one-time instruction * test(renderer): add unit tests to verify parts of instruction processing, make some binding properties public * test(template-compiler): fix test commit 30e1099eac4e021f56d11741c4adb7778f82fcef Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 24 22:24:59 2018 +0200 fix(value-attribute-observer): don't notify subscribers if value hasn't changed (#95) commit 4dc6cb8a7b64b9ae52af33c1dc5ec323608b8623 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 24 16:57:49 2018 +0200 Subscriber collection (#91) * refactor(binding): decouple BindingFlags.context from subscribers * chore(test): fix typing errors * fix(element-observation): fix binding flags * refactor(binding-flags): cleanup unused flags * chore(test): switch to text-summary coverage * fix(checked-observer): fix fromValue updates / add unit tests refactor(binding-flags): add fromFlushChanges to reduce batching redundancy, and expand the zeroes * chore(property-observation): fix typing issue * refactor(binding-flags): rename binding-flags fix(element-observation): remove error-causing notify commit 6607a140a585e119cca3bc8cdb1a3bb9f1087402 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 21 07:52:12 2018 -0700 fix(runtime): remove lazy bindable location and encapsulate observer (#90) * fix(runtime): remove lazy bindable location and encapsulate observer * refactor(property-observation): improve parameter naming commit 08d4baced32965a95fd4f8e6408ded2ca6593a6e Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 21 01:50:04 2018 +0200 refactor(dom): use uppercase tag names (#88) * refactor(dom): use uppercase tag names * fix(event-manager): use uppercase tagname * refactor(dom): remove normalizedTagName commit d6a10b5fc2c30a18601e4df4d913aa466dd14a24 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sun Aug 19 16:32:54 2018 +0200 Examples (#68) * doc(examples): initial setup for parcel+jit example * chore(jit-parcel): remove requirejs * chore(all): add jit-parcel example to lerna, change to peerDependencies * chore(jit-parcel): use normal dependencies * chore(all): add npm pack script & use the packages for the example * fix(jit-parcel): remove else for now, fix instructions * fix(template-compiler): wrap the nodes in a fragment * chore(examples): add convenience wrapper script to setup examples * fix(jit-parcel): remove path mappings from tsconfig * chore(all): remove examples from lerna and init script * chore(jit-parcel): update package-lock * fix(template-compiler): use firstElementChild instead of wrapper * feat(observers): auto-enable collection observers and make the toggles idempotent * fix(template-compiler): various small tweaks and fixes, make example work * fix(jit-parcel): make the example work with something simple * fix(aurelia): set isStarted=true after tasks have finished * test(jit-parcel): add e2e tests * chore(ci): configure e2e tests for circleci / organize a bit * fix(e2e): move publish into e2e job * fix(ci): fix typo * fix(ci): set the correct path before each cmd * fix(ci): try a different approach for the workspaces commit c1dd8e0ea5d88382a2753d773a038ae067cf1bdd Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Aug 17 09:44:33 2018 -0700 doc(readme): use code climate for coverage badge commit bcefe62b016cd54ad4b2e133489950137595ccf8 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Fri Aug 17 18:25:07 2018 +0200 chore(ci): add code coverage for code climate (#73) * chore(ci): add code coverage for code climate * chore(ci): try a different approach for cc * chore(ci): add code climate coverage id commit 11b26a57874dbf9ce10d0365dbcd2e9446f08201 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Aug 16 15:57:25 2018 -0700 fix(runtime): dry up bindable callback behavior (#71) commit dd5b48adbe1dc6bc4db511130475ed6ff6ee4596 Author: EisenbergEffect <rob@bluespire.com> Date: Wed Aug 15 21:48:59 2018 -0700 test(runtime): fix broken tests due to changed API commit 49484e30385d1ae1af334cde20e1b0a60257cef7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 15 21:42:31 2018 -0700 refactor(all): improving a couple of method names related to resources (#70) commit 9e29f421c9dc0b59379cf9ca56eb0ed66b8c2e62 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 16 06:27:20 2018 +0200 refactor(all): more flags (#69) * refactor(all): more flags * refactor(binding-flags): rename and add clarifying comments * docs(binding-flags): add a few more comments * refactor(binding-flags): change context to origin * test(binding): fix broken test commit 40e51527cd09e7422fb2927c9ffd9835cd0a4ff0 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 16 02:20:15 2018 +0200 chore(test): create test file skeletons to make it a bit easier to get started (#65) commit 5830a3650eebf37431162d08882a9796d97de400 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Wed Aug 15 16:40:27 2018 -0700 feat(runtime): convert with attribute to use render location (#64) * feat(runtime): convert with attribute to use render location * test(with): add basic tests and refactor test assistance * testI(runtime): reduce duplication in template controller tests * test(runtime): make shared templatr controller tests more composable * feat(runtime): improvements to attribute and element bindable control and common interfaces * fix(runtime): correct observer current value update and callback ordering * test(kernel): add Toggle tests * fix(runtime): ensure all bindable callback slots are initialized * fix(runtime-behavior): remove use of Toggle in favor of simple boolean commit c7a82855b8cbc7ccc2a5e9e6efd8c5297db28855 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 20:58:56 2018 +0200 fix(dom): append nodes to the correct thing (doh) (#66) commit 6889328b2ae518bde54288b6da257eef81ba6244 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 05:59:23 2018 +0200 Repeater (#63) * refactor(repeater): use render-location instead of view-slot / general cleanup * refactor(repeater): first implementation step for ForOfStatement commit c2a5e8289b7ba44dfe02c1ca63b003ce6fae6581 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 14 04:12:05 2018 +0200 Observer rework (#60) * refactor(binding): move the responsibility of batching target mutations to the target observers test(element-observation): add preliminary unit tests for element observers fix(repeat): adjust repeater logic + tests to new mutation batching mechanism * refactor(observation): move all element observers to element-observation * refactor(class-observer): update class-observer to the new mutation batching mechanism * refactor(checked-observer): update checked-observer to the new mutation batching mechanism * refactor(select-value-observer): update select-value-observer to the new mutation batching mechanism * chore(types): remove accidentally added file * chore(binding): cleanup unused accessor object * refactor(observers): rename/move target accessors, cleanup typings, fix linting errors * refactor(target-accessors): remove redundant previousValue * refactor(observers): move from 'hasChanges' to 'this.oldValue !== currentValue' * test(observers): re-sync spec structure for target-accessors * chore(binding): improve typings * refactor(observers): extract common logic out into a decorator / cleanup select-value-observer commit 981e6bf4b9ef339df05aa1d85880e03e2b5a2930 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 13 17:39:41 2018 +0200 chore(all): update lerna to 3.x non-rc (#62) commit c4e26d3970a0bae5e8b909ee24a16ba37cb26b25 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 13 08:39:05 2018 -0700 fix(runtime): interface clarity (#61) * refactor(runtime): renaming core interfaces for clarity * test(runtime): fix up tests after renaming * fix(runtime): correct kernel import * fix(runtime): make renderable and view factories interfaces have no default commit 7d1f8d4deb834cb4efbcbc4e76621d5eee82f955 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Aug 11 16:05:32 2018 -0700 feat(templating): convert replaceable to use render location (#59) * feat(templating): generalize attribute and element attachable child Previously, custom elements and custom attributes had a $slot property that could point to a render slot that was generated for template controller attributes or when something like compose asked for a slot representing itself. This change generalizes the mechanism by changing $slot to $child and switching to the more general IAttach interface, allowing custom attributes to connect an arbitrary attachable child into the attach lifecycle. In upcoming commits, this will enable a simplified implementation of replaceable and other single-child template controllers. Note that because IRenderSlot is an IAttach, advanced template controllers that manage multiple views still attach in the same as before. * feat(templating): switch replaceable to use render location * refactor(runtime): move test fakes to a shareable location This is in preparation for writing some more tests for other templating resources. * test(templating): add tests for replaceable attribute * test(replaceable): change chai assertion method commit 144b1c6347a4eacfdce82e130eaaba3ee01d61f5 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Sat Aug 11 18:47:11 2018 +0200 feat(binding): implement ChangeSet (#58) * feat(binding): implement ChangeSet refactor(binding): use ChangeSet instead of TaskQueue refactor(property-observer): make reusable decorator for setter/observer * fix(observation): fix subscriber typing commit 3c9735e2c811df21da7c8f5333bc14433804367a Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Aug 10 21:42:25 2018 -0700 feat(templating): add the low-level render location abstraction (#57) * feat(templating): add the low-level render location abstraction * refactor(runtime): use "render location" terminology throughout Some minor refactoring in the render location tests as well. * fix(dom): correct TS error commit 19854e4224ed760cd6a9ab8f6d38d0edb2d10ac2 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:32:08 2018 -0700 doc(readme): add better TS badge commit a052f8b79a022e70c11588c9e6a08bf20a71f52d Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:20:46 2018 -0700 chore(doc): add license badge commit b3891acd8c7fc2da378e38a952b010ff3ddcfd60 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:15:13 2018 -0700 doc(readme): remove improperly sized TS badge commit c48e9943222c70279a91635653efa601d7856073 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Aug 7 19:09:30 2018 -0700 doc(readme): TypeScript badge commit 0a17b16827a86c5e5630f1a66777dad2f6466987 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 23:21:26 2018 -0700 Remove Shadow DOM Emulation (#56) * chore(runtime): initial deletion of shadow emulation code * feat(custom-elements): define basic abstraction for element projection Still a few TODOs left for the basic implementation. * doc(custom-element): add todo notes for DefaultSlotProjector The current set of projectors will handle every custom element scenario. However, a set of common scenarios around default slots could be further optimized. This commit adds notes outlining how a DefaultSlotProjector would work and under what conditions it could be used. * fix(templating): address trivial errors when removing emulation * fix(templating): remove shadow dom from compose element * fix(all): last few corrections from the merge * test(dom): fix unit tests * feat(runtime): enable getting the custom element behavior... ...for a particular node * fix(runtime): various fixes related to compose commit 70b669667a63cbf566fa6a19260ad876eee8f8b6 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 7 08:20:43 2018 +0200 refactor(all): remove vCurrent repeater and collection observers (#55) commit 8b44b1cd3a6913c9ae5e9824aced1a7b93b358d6 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 22:56:29 2018 -0700 doc(readme): change CircleCI to shield style badge commit a309ad6f69e99d1d929adb4f1bd2f17e21556bd0 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Mon Aug 6 22:52:08 2018 -0700 doc(readme): add lerna badge commit 8ab2173f304d231346a3382f440c22d148d307ce Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Tue Aug 7 02:30:11 2018 +0200 feature/jit-2 (#52) * chore(lint): allow switch without default * wip * feat(jit): implement interpolation & iterator (with destructuring) parsing feat(ast): initial implementation of ForOfStatement for iterating different collection types feat(ast): add metadata to the AST for ExpressionKind * refactor(jit): merge attribute name/value parsers into template-compiler refactor(jit): use IResourceDescriptions for looking up resources feat(jit): initial skeleton for customizeable binding commands * feat(jit): simple first implementation for template-compiler * fix(all): correct types/properties and fix unit tests * fix(template-compiler): small fixes, setup first simple integration tests commit cbe0e02fb98bc98bd8f901894c7128fcf367a8f3 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 5 21:16:18 2018 -0700 doc(readme): fix typos commit ce7d2502a9a105d345f60850f67ca66df60bd1d9 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Aug 5 21:15:41 2018 -0700 doc(readme): cleaning up the readme a bit commit f0da3f34c8fd59830382951ffeb8ea0a28cc32d2 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Mon Aug 6 00:13:55 2018 +0200 chore(all): cleanup trailing whitespaces (#54) commit 69952c2835b17956a43d954f50739b64b6c7ae01 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 05:57:27 2018 +0200 feature/line-endings-3 (#51) * chore(git): force LF on everything * chore(all): reset line endings #2 commit 43283fff87eef6651be128e3835dda1d15b2e2c5 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 05:56:37 2018 +0200 chore(ci): remove dockerfile (moved to other repo) and use updated docker image (#50) commit 48445517978a7480548671a263e054965da1d8fa Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 04:10:47 2018 +0200 chore(all) reset everything to pick up the correct line endings (#49) commit fd3e90a0fa0cfec729e42523738a065938ad7947 Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Thu Aug 2 03:17:36 2018 +0200 chore(all): export / mark as internal (for unit testing) + enable stripInternal (#48) * chore(all): export / mark as internal (for unit testing) + enable stripInternal * chore(git): add .gitattributes * chore(editorconfig): fix line endings commit 735231645aa7305820ace87f1590a65a72c63ddc Author: Fred Kleuver <fkleuver@users.noreply.github.com> Date: Wed Aug 1 01:11:24 2018 +0200 feature/ci-fixes (#47) * chore(ci): fix unit tests and coverage to work on circleci * chore(ci): try another approach * chore(ci): fix junit path * chore(ci): try with hard-coded paths * chore(ci): fix package paths for test results commit 93025809cd7657c61aaaa4c156ef5e1ca43aa94b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Tue Jul 31 09:53:47 2018 -0700 Monorepo Conversion (#46) * chore(monorepo): begin reorg * chore(monorepo): more organization * doc(engineering): placeholder for eng notes * doc(all): add some placeholder readme files * fix(kernel): scripts working * chore(kernel): fix all lint errors * chore(all): update dependencies * chore(all): cleanup/updates, start from scratch with the package.jsons, make stuff work * fix(all): lots of path fixes and a few typing fixes, make sure everything builds correctly * test(all): fix all tests * chore(test): fix the red squiggles for the tests * fix(test): make all the tests run via lerna * doc(all): add preliminary instructions for local setup * chore(all): add lerna lint script * chore(all): fix typing errors * chore(lint): reinstall tslint-no-unused-expression-chai * chore(lint): add tslint-microsoft-contrib with explicitly declared rules * chore(lint): loosen some unpragmatic rules and exclude test files * chore(lint): make all public accessors explicit * chore(lint): allow pascal-case variable names * chore(lint): align jsdoc comments * chore(lint): fix imports and quotes * chore(lint): allow parameter properties commit ba686bf379809b3098b74cdd7bd8ce66b4743873 Merge: 81d222e e4254a7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sun Jul 29 18:15:25 2018 -0700 Merge pull request #45 from aurelia/feature/e2e feature/e2e commit e4254a71cd76b4a3da51fb00cdf7dee4bc8c1187 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 10:20:32 2018 +0200 chore(ci): giving up on firefox for now commit adf24483a538f73ae24da8671f93475bcad614d1 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 10:00:57 2018 +0200 chore(ci): fix docker permission issues commit 2cf949f688145447b73b14986e76c0b1fe50c159 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 09:32:44 2018 +0200 chore(ci): add very basic protractor setup commit e6921b2ba81acbbeb774c91339474406d4769904 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 08:36:08 2018 +0200 chore(ci): fix permissions commit 6e70ca4efbf218b8269ba2c48ccbba2e797ad7f2 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 08:26:02 2018 +0200 chore(ci): try to fix firefox commit 81d222e349e1cdc495c3c034e3e1dfcfe5e2871f Merge: 10cb989 d4c791b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 22:53:01 2018 -0700 Merge pull request #44 from aurelia/feature/ci-build feature/ci-build commit d4c791b517143202b04894635fde6e973008b2b9 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:50:29 2018 +0200 chore(ci): disable firefox for now commit 7b68243aa7d6902a1c3b8101f0d6484155e91e56 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:46:47 2018 +0200 chore(ci): update firefox #2 commit c61aade91bbb275664df05c91303aa4925b263b5 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:34:14 2018 +0200 chore(ci): update to latest firefox commit 9bb2fd58ce920e1158eb04ca331e24c6e091f5b9 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:28:57 2018 +0200 chore(ci): add firefox to unit tests commit 0467be738e5827a25c14772b7ea1a1c1db56bfcc Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:02:27 2018 +0200 chore(ci): fix paths #3 commit 44e00a04ff74811f877ab550b63d718cff18fb67 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 07:00:56 2018 +0200 chore(ci): fix codecov path commit dfc2a72a860bcf936851a23ab3c6024bd1d8a776 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:58:21 2018 +0200 chore(ci): fix paths #2 commit 88dd96eff47569c8c3ab2ed426236df9231fb4c8 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:55:31 2018 +0200 chore(ci): fix workspace paths commit 6ad6b1f8b003c7557f20547ad6a2ec48ed51a84b Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:42:23 2018 +0200 chore(ci): fix artifacts path commit 5ea53df252e93401175e8ceeb2c0a44f072c0726 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:38:25 2018 +0200 chore(ci): run all tests and store coverage artifact commit 7ad02c49f22483e608375f6d50c8df8493d06189 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 02:05:49 2018 +0200 fix(observation): add unit tests for map/set observation & fix some issues refactor(observation): simplify map/set/array synchronization from the indexMap by explicitly tracking deleted items commit 7064c0f9eef9840430fcb953dcff145a093b0aa1 Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:45:52 2018 -0700 fix(DOM): accidental import add commit e5dc7b6f4645448e83ba224e90fda1aae1c63965 Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:43:20 2018 -0700 doc(runtime): clarify the purpose of several core items Also, added some notes on which things are likely to go away with the removal of shadow dom emulation. In the end, I'm hopeful that a good chunk of this will be simplified. However, I think it's likely going to still be very valuable to have core abstractions like ITemplates that create IViews. However, the simplicity can come from the fact that you will no longer need a RenderSlot to render the IView. You can basically just have an INode (or RenderLocation, which will just be an INode) and simply append the IView at the location. commit 2eeac366ff89727e57d1846344336dea8c54bea7 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:49:00 2018 +0200 chore(ci): configure codecov commit b8b01d77e0e4c9ba0927ec2126ca0791d8e104f4 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 06:40:11 2018 +0200 chore(ci): fix workflow deps commit 10cb98925caba6943202f15d6c05553879dfe073 Merge: 8d29d95 18f3bf8 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:20:40 2018 -0700 Merge pull request #43 from aurelia/feature/ci-tests feature/ci-tests commit 8d29d9504ee87f6b363b5e361e89d66869dc3e5f Merge: b6cee80 795c1de Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:20:06 2018 -0700 Merge pull request #42 from aurelia/feature/observation feature/observation commit b6cee8079d5b59b6f4f4cdf28805afb1c4461169 Merge: e78d073 c2dd03c Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 21:12:09 2018 -0700 Merge pull request #41 from aurelia/explain-view-implementations doc(runtime): clarify the purpose of several core items commit 9af1bfe34ac16a015bfcccbf82a418d89800a592 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 05:52:24 2018 +0200 chore(ci): add build job and switch to test-aot for building commit 18f3bf8b595505ab1979e1dfd7f806777864fd34 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:42:23 2018 +0200 chore(ci): fix artifacts path commit 943232621e88d8a7f6252317b51a84aa1ebbdbc0 Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 04:38:25 2018 +0200 chore(ci): run all tests and store coverage artifact commit 795c1dec0461ef79a65138632e5b3b0f349e920d Author: fkleuver <fred@avurad.nl> Date: Sun Jul 29 02:05:49 2018 +0200 fix(observation): add unit tests for map/set observation & fix some issues refactor(observation): simplify map/set/array synchronization from the indexMap by explicitly tracking deleted items commit c2dd03cd2efea858adae7bc75c18d6c169083edb Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:45:52 2018 -0700 fix(DOM): accidental import add commit 2436a21209adc3c91b1a8c81fbf180d1d4e634df Author: EisenbergEffect <rob@bluespire.com> Date: Sat Jul 28 14:43:20 2018 -0700 doc(runtime): clarify the purpose of several core items Also, added some notes on which things are likely to go away with the removal of shadow dom emulation. In the end, I'm hopeful that a good chunk of this will be simplified. However, I think it's likely going to still be very valuable to have core abstractions like ITemplates that create IViews. However, the simplicity can come from the fact that you will no longer need a RenderSlot to render the IView. You can basically just have an INode (or RenderLocation, which will just be an INode) and simply append the IView at the location. commit e78d07338dda35c6464e0590c251210a99e79e69 Merge: f15c1bc 3271c4c Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 12:07:00 2018 -0700 Merge pull request #40 from aurelia/feature/code-coverage feature/code-coverage commit f15c1bce4fd09dd0aa72747d4ea676cf3255e325 Merge: e81c33a dec74e8 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 12:04:57 2018 -0700 Merge pull request #39 from aurelia/feature/binding-mode feature/binding-mode commit 3271c4c315324bdedce67b86b3350aae48ee64d5 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 20:59:32 2018 +0200 fix(ci): fix path commit 271da8cf1eda4b79af94c7fa803e875db9b022d4 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 20:00:21 2018 +0200 doc(ci): add badges commit 44681156d3f13f4261ba8c61f934acd871046e0d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 19:44:04 2018 +0200 chore(ci): fix junit coverage commit dec74e876a3d06b28bc802440b23125361f41c62 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 19:03:43 2018 +0200 test(binding/resources): add basic unit tests as a starting point fix(signals): correct argument count commit 1b7c345e9dda1657761f629d7e18cdaecb3c9e7c Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 17:51:52 2018 +0200 fix(binding/resources): update bindingBehaviors with flags and new bindingMode commit 4bb62abf2549257bec08d4a0258b050ac5fe3b7b Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 17:50:04 2018 +0200 refactor(binding-mode): deprecate oneWay and addturn bindingMode into flags refactor(binding): change things in the runtime accordingly, and apply a few optimizations to binding.ts (both related and unrelated to binding.ts) commit e81c33ad40f6956bc88a3e3fd5923cce485a4e49 Merge: 3ad2a6a 25c18ee Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 01:00:07 2018 -0700 Merge pull request #38 from aurelia/feature/ast refactor(ast): various perf tweaks / remove redundancy / make behavior more similar to normal js commit 3ad2a6a3c8842d13ab93efc0136a4af3f4170c11 Merge: a83b40b 1893be3 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 00:58:47 2018 -0700 Merge pull request #37 from aurelia/feature/repeater feat(repeater): implement repeater with the new observation logic commit a83b40b71bbbf6a58b2bbe7213bbdf2d4536e3b9 Merge: 1c4fabd 23463a2 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Sat Jul 28 00:50:46 2018 -0700 Merge pull request #36 from aurelia/feature/cleanup chore(all): remove unused deps / update deps / remove deprecated tests commit 25c18ee8cb2a5571ea40e9491a48a1a61247ecd2 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 09:02:09 2018 +0200 refactor(ast): various perf tweaks / remove redundancy / make behavior more similar to normal js commit 1893be3c74d4bea5401eae656a7a45dbc8d11ce1 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 08:47:09 2018 +0200 feat(repeater): implement repeater with the new observation logic commit 242b2bbb75a0e6fa4c0bee7cb6658343a689194c Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 06:30:04 2018 +0200 chore(ci): fix circle config for coverage commit a293f64da7abcf615c177b091feed7b63408af8e Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 06:06:22 2018 +0200 fix(coverage): hacky workaround to fix the dtd url for cobertura commit b1b81a6f5322fe869af7a8babedb294231cca318 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:47:40 2018 +0200 chore(ci): store coverage results commit 3de83f24270248c977c61198a4218e05cd85631d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:45:46 2018 +0200 chore(test): use normal text output and export circleci compatible report commit 25442dce282a8a14e1f8fc59a34a36c1b6a13d11 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 05:28:16 2018 +0200 chore(ci): add istanbul to docker image commit 23463a208754ed54be236ab2549d043c199de3dc Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:58:18 2018 +0200 chore(test): remove deprecated unit tests commit a35832b4850325d8604f92dc31d9cb79af9e84b1 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:57:00 2018 +0200 chore(all): update deps commit d506d3f14f6b9a842a776d4b3d123163dc8ec5b2 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:29:10 2018 +0200 chore(all): cleanup deps we don't use commit 1c4fabd8ca50905dac12c90531abf13309f294f4 Merge: ae7cf21 9e290a9 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 19:15:00 2018 -0700 Merge pull request #35 from aurelia/feature/ci chore(ci): enable npm ci verbose logging commit ae7cf215aea36a97dd8b3b51314a2cc1712155c8 Merge: c2cd3af 12b73f0 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 19:14:44 2018 -0700 Merge pull request #34 from aurelia/feature/binding-flags refactor(all): add binding-flags and reorder parameters to be more consistent commit 9e290a953a99cf6e43c999378a427163a2dd05f8 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 04:12:25 2018 +0200 chore(ci): enable npm ci verbose logging commit 12b73f0f17f22f62487fbc092778d49e0285664d Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 03:55:49 2018 +0200 refactor(all): add binding-flags and reorder parameters to be more consistent commit c2cd3afc2d9c321baddabb6f1a6b0737475f22a4 Merge: 17793ff fd4a56b Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 18:32:00 2018 -0700 Merge pull request #33 from aurelia/feature/connect-queue refactor(binding): remove connect-queue (temporarily) commit fd4a56bc1906ce6b89dad6d97b47315be7f54fd8 Author: fkleuver <fred@avurad.nl> Date: Sat Jul 28 02:52:32 2018 +0200 refactor(binding): remove connect-queue (temporarily) commit 17793ffcc4fdcabacce7537c4bab25fdd9e0922a Merge: 639b606 0b88a15 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:41:57 2018 -0700 Merge pull request #32 from aurelia/feature/tsconfig chore(tsconfig): target es2015 and switch to explicit inclusion commit 0b88a15174bc3c01b34248fd3094b91db216208b Merge: e6dd9b9 639b606 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:41:22 2018 -0700 Merge branch 'master' into feature/tsconfig commit 639b60653e4eed16c343ef97cb70656aee055b00 Merge: 7c26800 b7213ad Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:39:47 2018 -0700 Merge pull request #31 from aurelia/feature/ci chore(ci): add basic circleci config for running unit tests commit 7c26800d564b0432b110576c69b94d9fe9db4880 Merge: 3222e4d 0183386 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Fri Jul 27 15:39:08 2018 -0700 Merge pull request #30 from aurelia/feature/binding refactor(binding): merge binding with connectableBinding and connect-queue commit 3222e4d44a9e95e2367a0d08decba9186fdaea09 Merge: e4403d4 383b052 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 23:17:15 2018 -0700 Merge pull request #29 from aurelia/feature/observation feat(observation): add improved collection observers commit e4403d4d7ab7d1731a1ad8f52edc8fed1bee7a46 Merge: 7d1b2cd 44c9464 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 19:46:28 2018 -0700 Merge pull request #28 from aurelia/feature/task-queue refactor(task-queue): change to a moving-cursor mechanism commit 7d1b2cdfd0bfd7c0e84f1ca4a593b010bbfc3adf Merge: 4192a3e 7458be7 Author: Rob Eisenberg <EisenbergEffect@users.noreply.github.com> Date: Thu Jul 26 19:42:00 2018 -0700 Merge pull request #27 from aurelia/feature/dom refactor(dom): various perf tweaks commit e6dd9b9bd5db73b3c151e79990c02b03c65fec80 Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 11:29:07 2018 +0200 chore(tsconfig): target es2015 and switch to explicit inclusion commit b7213ad88b9130bcbe0896ce5cc201cef0a0040d Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 11:07:35 2018 +0200 chore(ci): add basic circleci config for running unit tests Just an initial skeleton setup. Doesn't do builds, code coverage, e2e tests and that sort of thing yet. Also included a custom Dockerfile which is published to the docker registry under aureliavnext/circleci. This is needed because the default circleci image for node 8 doesn't contain the latest npm version nor the latest chrome version, which causes issues. commit dfc17615d27db767fee621ed8eade6339f04887d Author: fkleuver <fred@avurad.nl> Date: Thu Jul 26 09:45:58 2018 +0200 chore(all): switch from yarn.lock to package-lock.json The main motivation for this is simplicity o…
Closes #74
Interpolation parsing
Semicolon-separated custom attribute values