Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: next rebased #734

Merged
merged 21 commits into from
Oct 20, 2018
Merged

feat: next rebased #734

merged 21 commits into from
Oct 20, 2018

Conversation

diervo
Copy link
Contributor

@diervo diervo commented Oct 13, 2018

  • refactor(engine): removal of is attr and forceTagName
  • fix(engine): removing integration test for forceTagName
  • fix: remove custom element transformation from CSS (fix: remove custom element transformation from CSS #695)
  • fix(compiler): fixing fixtures
  • refactor(engine): snabbdom lite - phase 1 (refactor(engine): snabbdom lite - phase 1 #606)
  • refactor(engine): removal of is attr and forceTagName
  • refactor(engine): removal of is attr and forceTagName
  • fix(engine): removing integration test for forceTagName
  • refactor(engine): snabbdom lite - phase 1
  • refactor(engine): adding hooks.ts
  • refactor(engine): removing global hooks
  • refactor(engine): splitting style and class modules into static and dynamic
  • test(engine): ready for the final push
  • refactor(engine): making hooks mandatory.
  • refactor(engine): making all hooks functions
  • refactor(engine): dynamic diff vs static diff
  • refactor(engine): using two diff algos
  • refactor(engine): removing htmlapi in favor of pure patching
  • fix(engine): missing argument when determining diff algo
  • fix(engine): adding tests for dynamic diff
  • fix(engine): clean up
  • fix(engine): integration test failures
  • refactor(engine): proto chaining
  • fix(engine): wrong auto import
  • fix(engine): correcting the proto chain
  • refactor(engine): implementing the base element proto chain
  • test(engine): adding more tests for restrictions on elements
  • refactor(engine): rename to BaseBridgeElement
  • feat(engine): dom patching (feat(engine): dom patching #688)
  • feat(engine): dom patching
  • fix(engine): cleanup descriptors
  • feat(engine): rebase
  • fix(engine): linting
  • fix(engine): pr feedback
  • fix(engine): lint
  • fix(compiler): updated snapshot testing to account for shadow dom
  • fix(engine): pr feedback
  • fix(engine): fixing restrictions on custom elements
  • fix(engine): exposing host (fix(engine): exposing host #705)
  • fix(engine): exposing host
  • fix(engine): shadow root
  • wip(engine): linting and type errors
  • fix(engine): cleaning up shadow root detection
  • fix(engine): removing restrictions test
  • fix(engine): fixing element from point methods
  • fix(engine): disabling some attribute integration test for now
  • fix(engine): linting
  • fix(engine): upgrade ie11 driver
  • fix(engine): compat test fix
  • fix(engine): applying elementFromPoint on document
  • fix(engine): linting
  • fix(engine): reverting unnecessary changes
  • fix(engine): removing skip in test
  • fix(engine): polyfill readmes
  • fix(engine): review feedback
  • fix(engine): integration tests for elementFromPoint
  • fix(engine): ie11 elementsFromPoint
  • fix(engine): feedback
  • fix(engine): ts fix
  • wip: yarn update
  • fix(engine): fixing snapshot test

@diervo diervo mentioned this pull request Oct 13, 2018
@diervo diervo changed the title Next FTW! feat: next insanity Oct 13, 2018
@@ -135,11 +135,17 @@ function parentNodeDescriptorValue(this: HTMLElement): HTMLElement | SyntheticSh
}

function parentElementDescriptorValue(this: HTMLElement): HTMLElement | null {
const parentNode = parentNodeDescriptorValue.call(this);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidturissini this is the fix for the problem with elm.parentElement. We were using the getter defined in this file to get the shadow, which we were using just to compare it. A better solution is just to do the low level parentElement, and do the comparison based on that.

@diervo diervo changed the title feat: next insanity feat: next rebased Oct 15, 2018
@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@ekashida
Copy link
Member

The conflicting files are easy to resolve, but I haven't done that yet in case we need to revert scoped ids for whatever reason (having a hard time getting CI to build it).

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@@ -143,7 +143,6 @@ const CustomElementHook: Hooks = {
// this is used mostly for caching in compiler and style tags
vnode.elm = createElement.call(document, sel);
}
createElmHook(vnode);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain this? Its not clear why you're removing this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have spoken to @davidturissini about this one, we are good! the reason is that createElmHook and createCustomElmHook are analog.

@salesforce-best-lwc-internal

This comment has been minimized.

@@ -32,13 +24,7 @@ export function dangerousObjectMutation(obj: any): any {
// Universal unwrap mechanism that works for observable membrane
// and wrapped iframe contentWindow
export const unwrap = function(value: any): any {
// observable membrane goes first because it is in the critical path
Copy link
Contributor

@ravijayaramappa ravijayaramappa Oct 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@caridy @davidturissini If traverse-membrane is removed that you could remove this in InteropComponent as well. My assumption is that was put in place to not leak any traverse-membrane proxies into aura.
If you leave it as-is, I believe the side effect is that data proxies returned by a public method will be unwrapped.

Copy link
Contributor

@caridy caridy Oct 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidturissini do you want to take this? or maybe @jodarove, who knows that code as well.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

caridy and others added 11 commits October 18, 2018 16:25
* refactor(engine): removal of is attr and forceTagName
* fix(engine): removing integration test for forceTagName
* fix: remove custom element transformation from CSS (#695)
* fix(compiler): fixing fixtures
* refactor(engine): snabbdom lite - phase 1 (#606)
* refactor(engine): removal of is attr and forceTagName
* refactor(engine): removal of is attr and forceTagName
* fix(engine): removing integration test for forceTagName
* refactor(engine): snabbdom lite - phase 1
* refactor(engine): adding hooks.ts
* refactor(engine): removing global hooks
* refactor(engine): splitting style and class modules into static and dynamic
* test(engine): ready for the final push
* refactor(engine): making hooks mandatory.
* refactor(engine): making all hooks functions
* refactor(engine): dynamic diff vs static diff
* refactor(engine): using two diff algos
* refactor(engine): removing htmlapi in favor of pure patching
* fix(engine): missing argument when determining diff algo
* fix(engine): adding tests for dynamic diff
* fix(engine): clean up
* fix(engine): integration test failures
* refactor(engine): proto chaining
* fix(engine): wrong auto import
* fix(engine): correcting the proto chain
* refactor(engine): implementing the base element proto chain
* test(engine): adding more tests for restrictions on elements
* refactor(engine): rename to BaseBridgeElement
* feat(engine): dom patching (#688)
* feat(engine): dom patching
* fix(engine): cleanup descriptors
* feat(engine): rebase
* fix(engine): linting
* fix(engine): pr feedback
* fix(engine): lint
* fix(compiler): updated snapshot testing to account for shadow dom
* fix(engine): pr feedback
* fix(engine): fixing restrictions on custom elements
* fix(engine): exposing host (#705)
* fix(engine): exposing host
* fix(engine): shadow root
* wip(engine): linting and type errors
* fix(engine): cleaning up shadow root detection
* fix(engine): removing restrictions test
* fix(engine): fixing element from point methods
* fix(engine): disabling some attribute integration test for now
* fix(engine): linting
* fix(engine): upgrade ie11 driver
* fix(engine): compat test fix
* fix(engine): applying elementFromPoint on document
* fix(engine): linting
* fix(engine): reverting unnecessary changes
* fix(engine): removing skip in test
* fix(engine): polyfill readmes
* fix(engine): review feedback
* fix(engine): integration tests for elementFromPoint
* fix(engine): ie11 elementsFromPoint
* fix(engine): feedback
* fix(engine): ts fix
* wip: yarn update
* fix(engine): fixing snapshot test

wip: styles still broken

wip: fix styles
* feat(engine): active element for shadow roots
* fix(engine): linting
* fix(docs): updated readme
* feat(compiler): adding api.ti call for tabindex
* fix(engine): fixing log warning
* fix(engine): review feedback
* fix(engine): review feedback
* fix(engine): fixing lwc-template-compiler build
* fix(compiler): updated snapshot
@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

davidturissini and others added 2 commits October 19, 2018 17:37
* feat(engine): expose isnodecreatedbylwc

* fix(engine): review feedback

* fix(engine): linting

* fix(engine): adding instanceof check

* fix(engine): removing unused imports
* * refactor(engine): removal of is attr and forceTagName
* refactor(engine): removal of is attr and forceTagName
* fix(engine): removing integration test for forceTagName
* fix: remove custom element transformation from CSS (#695)
* fix(compiler): fixing fixtures
* refactor(engine): snabbdom lite - phase 1 (#606)
* refactor(engine): removal of is attr and forceTagName
* refactor(engine): removal of is attr and forceTagName
* fix(engine): removing integration test for forceTagName
* refactor(engine): snabbdom lite - phase 1
* refactor(engine): adding hooks.ts
* refactor(engine): removing global hooks
* refactor(engine): splitting style and class modules into static and dynamic
* test(engine): ready for the final push
* refactor(engine): making hooks mandatory.
* refactor(engine): making all hooks functions
* refactor(engine): dynamic diff vs static diff
* refactor(engine): using two diff algos
* refactor(engine): removing htmlapi in favor of pure patching
* fix(engine): missing argument when determining diff algo
* fix(engine): adding tests for dynamic diff
* fix(engine): clean up
* fix(engine): integration test failures
* refactor(engine): proto chaining
* fix(engine): wrong auto import
* fix(engine): correcting the proto chain
* refactor(engine): implementing the base element proto chain
* test(engine): adding more tests for restrictions on elements
* refactor(engine): rename to BaseBridgeElement
* feat(engine): dom patching (#688)
* feat(engine): dom patching
* fix(engine): cleanup descriptors
* feat(engine): rebase
* fix(engine): linting
* fix(engine): pr feedback
* fix(engine): lint
* fix(compiler): updated snapshot testing to account for shadow dom
* fix(engine): pr feedback
* fix(engine): fixing restrictions on custom elements
* fix(engine): exposing host (#705)
* fix(engine): exposing host
* fix(engine): shadow root
* wip(engine): linting and type errors
* fix(engine): cleaning up shadow root detection
* fix(engine): removing restrictions test
* fix(engine): fixing element from point methods
* fix(engine): disabling some attribute integration test for now
* fix(engine): linting
* fix(engine): upgrade ie11 driver
* fix(engine): compat test fix
* fix(engine): applying elementFromPoint on document
* fix(engine): linting
* fix(engine): reverting unnecessary changes
* fix(engine): removing skip in test
* fix(engine): polyfill readmes
* fix(engine): review feedback
* fix(engine): integration tests for elementFromPoint
* fix(engine): ie11 elementsFromPoint
* fix(engine): feedback
* fix(engine): ts fix
* wip: yarn update
* fix(engine): fixing snapshot test

wip: styles still broken

wip: fix styles

* refactor(engine): preliminar work for tabindex

* feat(engine): prototype over descriptors

* refactor(engine): preliminar work for focus and blur patch

* fix(engine): invalid import statement

* refactor(engine): preliminar work for focus and blur patch

* fix(engine): make shadowroot a fragment

* fix(engine): make shadowroot a fragment

* fix(engine): make shadowroot a fragment

* fix(engine): make shadowroot a fragment

* feat(engine): active element for shadow roots (#740)

* feat(engine): active element for shadow roots
* fix(engine): linting
* fix(docs): updated readme

* fix(engine): types

* fix(engine): nodelist iterator

* fix(engine): nodelist iterator

* chore(engine): rebasing next-rebased

* refactor(engine): implement delegatesFocus flag

* test(engine): implement delegatesFocus flag tests

* chore(engine): fixing dval mess with the history

* fix: newlines on tests

* feat: add some polyfill tests

* fix(engine): tests

* fix(engine): review for PR 747
@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal

This comment has been minimized.

@salesforce-best-lwc-internal
Copy link

Benchmark results

Base commit: 33de30e | Target commit: 65fc76e

lwc-engine-benchmark

table-append-1k metric base(33de30e) target(65fc76e) trend
benchmark-table/append/1k duration 151.00 (±6.25 ms) 148.05 (±5.00 ms) -2.9ms (2.0%) 👌
table-clear-1k metric base(33de30e) target(65fc76e) trend
benchmark-table/clear/1k duration 11.60 (±0.55 ms) 6.10 (±0.40 ms) -5.5ms (47.4%) 👍
table-create-10k metric base(33de30e) target(65fc76e) trend
benchmark-table/create/10k duration 891.20 (±6.15 ms) 880.55 (±5.45 ms) -10.7ms (1.2%) 👍
table-create-1k metric base(33de30e) target(65fc76e) trend
benchmark-table/create/1k duration 108.25 (±1.65 ms) 113.20 (±2.15 ms) +4.9ms (4.6%) 👎
table-update-10th-1k metric base(33de30e) target(65fc76e) trend
benchmark-table/update-10th/1k duration 83.55 (±1.40 ms) 76.00 (±2.55 ms) -7.5ms (9.0%) 👍
tablecmp-append-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-component/append/1k duration 207.30 (±10.70 ms) 228.40 (±16.90 ms) +21.1ms (10.2%) 👎
tablecmp-clear-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-component/clear/1k duration 19.35 (±2.05 ms) 11.65 (±1.75 ms) -7.7ms (39.8%) 👍
tablecmp-create-10k metric base(33de30e) target(65fc76e) trend
benchmark-table-component/create/10k duration 1602.35 (±10.75 ms) 1627.60 (±11.05 ms) +25.3ms (1.6%) 👎
tablecmp-create-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-component/create/1k duration 183.65 (±4.85 ms) 196.05 (±3.85 ms) +12.4ms (6.8%) 👎
tablecmp-update-10th-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-component/update-10th/1k duration 81.95 (±5.10 ms) 68.95 (±4.85 ms) -13.0ms (15.9%) 👍
wc-append-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-wc/append/1k duration 262.50 (±14.20 ms) 228.90 (±11.70 ms) -33.6ms (12.8%) 👍
wc-clear-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-wc/clear/1k duration 27.65 (±2.80 ms) 22.20 (±2.15 ms) -5.4ms (19.7%) 👍
wc-create-10k metric base(33de30e) target(65fc76e) trend
benchmark-table-wc/create/10k duration 2046.85 (±15.10 ms) 1715.80 (±42.40 ms) -331.0ms (16.2%) 👍
wc-create-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-wc/create/1k duration 223.50 (±3.80 ms) 203.25 (±4.70 ms) -20.3ms (9.1%) 👍
wc-update-10th-1k metric base(33de30e) target(65fc76e) trend
benchmark-table-wc/update-10th/1k duration 79.75 (±5.60 ms) 73.50 (±3.45 ms) -6.3ms (7.8%) 👍

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

Successfully merging this pull request may close these issues.

5 participants