Skip to content

refactor(wire-service): wire decorator reform #1802

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

Closed
wants to merge 1 commit into from

Conversation

jodarove
Copy link
Contributor

@jodarove jodarove commented Apr 6, 2020

Revert "Revert "feat: add wire config as function (#1455)" (#1601)"

This reverts commit 722979e.

rebase from master

Squashed commit of the following:
commit 0f00e08
Author: Jose David Rodriguez jodarove@gmail.com
Date: Thu Sep 19 23:13:15 2019 -0700

refactor(wire-service): wire decorator reform

Squashed commit of the following:

commit fb136b7d82118cb1b3a7ae4213efcb6e84b2a1e9
Author: Caridy Patiño <caridy@gmail.com>
Date:   Thu Aug 29 23:59:16 2019 -0400

    fix(wire-service): does not accept adapter id to be a symbol

commit 91c2d973eb3467ac56f4c1132a9febe4458c0189
Author: Caridy Patiño <caridy@gmail.com>
Date:   Thu Aug 29 15:04:19 2019 -0400

    fix(engine): tests and karma tests fixes

commit 719c41e45d0e08f131d3f65eb39da7e0fd82e593
Merge: 3cdf6508 8e5035ed
Author: Caridy Patiño <caridy@gmail.com>
Date:   Sat Aug 31 14:31:07 2019 -0400

    Merge branch 'master' into caridy/wire-reform-2

commit 8e5035edb48c9001fdc47d0bdd4b809da1871791
Author: Caridy Patiño <caridy@gmail.com>
Date:   Fri Aug 30 22:25:49 2019 -0400

    refactor: hidden fields instead of internal fields (2) (#1485)

    * chore: package-unique keys for engine and synthetic shadow

    * refactor: remove internal fields in favor of hidden fields

    * fix: avoid returning boolean false when field undefined

    * test: use hidden fields instead of internal fields

    * refactor(synthetic-shadow): hidden fields instead of internal fields

    * chore(synthetic-shadow): "unique" string keys

    * fix(engine): issue 1299 second attempt

    * fix(engine): removing hasOwnProperty check

    * chore: revert changes for vm access by getComponentConstructor

commit 9a7f8224d52bd6e46144e5cf75acbb28e8787a07
Author: Ravi Jayaramappa <ravi.jayaramappa@salesforce.com>
Date:   Thu Aug 29 14:05:57 2019 -0700

    fix: cloneNode() default behavior should match spec (#1480)

commit 3cdf65080fe70a75ce406ad483f47a3dfe18f689
Author: Caridy Patiño <caridy@gmail.com>
Date:   Thu Aug 29 05:40:52 2019 -0400

    fix(engine): context to work as expected

commit 2224bd221ba37f881af57c53ede7d16e1a517d48
Author: Caridy Patiño <caridy@gmail.com>
Date:   Thu Aug 29 04:38:45 2019 -0400

    fix(engine): karma tests for context providers

commit 8b6c978f0e1f0d6126f15ee336b30184bc82b0f3
Merge: d02243bc 5d5f7afd
Author: Caridy Patiño <caridy@gmail.com>
Date:   Thu Aug 29 04:33:58 2019 -0400

    Merge branch 'caridy/wire-reform-2' of github.com:salesforce/lwc into caridy/wire-reform-2

commit 5d5f7afd3097a279c75c61ca064477099af475af
Author: Jose David Rodriguez <jodarove@gmail.com>
Date:   Fri Aug 30 13:30:34 2019 -0700

    fix: observable-fields

commit a901a6403cdb671a359af600febc4f19925080e9
Author: Jose David Rodriguez <jodarove@gmail.com>
Date:   Thu Aug 29 22:41:50 2019 -0700

    wip: wire register is broken it was making karma fail

commit d02243bc7abf1cbd2e83ee9c3228972de103bbe2
Author: Caridy Patiño <caridy@gmail.com>
Date:   Wed Aug 28 07:46:56 2019 -0400

    fix(engine): remove unnecessary comment

commit c9ad2c54f60b8a3371576cf5388d301a5691631b
Author: Caridy Patiño <caridy@gmail.com>
Date:   Wed Aug 28 02:59:29 2019 -0400

    refactor(engine): context provider options

commit 6bcf0be094b23ae16b3d9947deb85058c7a842ff
Author: Caridy Patiño <caridy@gmail.com>
Date:   Tue Jul 16 23:03:56 2019 -0400

    fix(engine): @wire() protocol reform RFC

fix: rebase issues

fix: wire-reform tests (#1524)

  • fix: invalid syntax error on invalid wire param value

When a wire parameter has invalid value (eg: foo..bar, foo.bar[3]) it should (ideally) resolve in a compilation error during validation phase.

This is not possible due that platform components may have a param definition which is invalid but passes compilation, and throwing at compile time would break such components.

In such cases where the param does not have proper notation, the config generated will use the bracket notation to match the current behavior (that most likely end up resolving that param as undefined).

  • fix: tests for wire reactive parameters

  • fix: unit test register and WireAdapter

  • fix: backward compability when adding config listener

  • fix: adding general tests for wire adapter

  • wip: address pr comments and lint errors

fix: reactivity of wire params (#1526)

  • fix: reactivity of wire params

  • wip: address review comments

and run performance

  • wip: trigger perf measures

  • fix: remove valueMutated pruning condition

  • fix: add componentValueObserved for consistency

  • fix: remove tf because of wired properties being track

before the wire reform.

  • fix: ensure component rerender in compat

  • fix: tf because registerDecorators happens before registerAdapter

  • Revert "fix: tf because registerDecorators happens before registerAdapter"

This reverts commit b2d1a89.

  • fix: wire integration tests

fix: rebase issues

fix: remove tests because wire defs is not part of the public api

of getComponentDef

fix: add test for inherited methods

fix: context in targets hierarchy

fix: add registerWireService for backward compability

it is a noop.

fix(engine): remove assertions added by mistake on rebase

fix: rebase conflicts

fix: lint errors

todos errors.

fix: add support for adapters that use wirecontextevent

fix: prefix wired element key with deprecated and remove

redundant options in descriptor

fix: relax adapterId validation to isExtensible

instead of instanceof Object.

In order to be able to register an adapterId, the only precondition needed is that adapterId is extensible. this commit changes the old validation that was doing instanceof Object.

fix: tf because of error message changed

fix: debounce config call when creating component with wire

also, adds an extra data for the wire decorator, indicating if it has dynamic parameters.

fix: incorrect api field config returned from getComponentDef

fix: address pr comments

fix: include 33b91a2 in the wire reform

fix: —strictFunctionTypes issues plus rebase leftovers

Revert "refactor(engine): Decouple createElement from engine internals (#1751)"

This reverts commit 1ea1d60.

Conflicts:

packages/@lwc/engine/src/framework/def.ts

packages/@lwc/engine/src/framework/hooks.ts

packages/@lwc/engine/src/framework/services.ts

packages/@lwc/engine/src/framework/upgrade.ts

packages/@lwc/engine/src/framework/vm.ts

packages/@lwc/engine/src/framework/wc.ts

packages/@lwc/wire-service/src/index.ts

packages/@lwc/wire-service/src/property-trap.ts

packages/@lwc/wire-service/src/wiring.ts

Revert "Revert "feat: add wire config as function (#1455)" (#1601)"

This reverts commit 722979e.

rebase from master

Squashed commit of the following:
commit 0f00e08
Author: Jose David Rodriguez <jodarove@gmail.com>
Date:   Thu Sep 19 23:13:15 2019 -0700

    refactor(wire-service): wire decorator reform

    Squashed commit of the following:

    commit fb136b7
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Thu Aug 29 23:59:16 2019 -0400

        fix(wire-service): does not accept adapter id to be a symbol

    commit 91c2d97
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Thu Aug 29 15:04:19 2019 -0400

        fix(engine): tests and karma tests fixes

    commit 719c41e
    Merge: 3cdf650 8e5035e
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Sat Aug 31 14:31:07 2019 -0400

        Merge branch 'master' into caridy/wire-reform-2

    commit 8e5035e
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Fri Aug 30 22:25:49 2019 -0400

        refactor: hidden fields instead of internal fields (2) (#1485)

        * chore: package-unique keys for engine and synthetic shadow

        * refactor: remove internal fields in favor of hidden fields

        * fix: avoid returning boolean false when field undefined

        * test: use hidden fields instead of internal fields

        * refactor(synthetic-shadow): hidden fields instead of internal fields

        * chore(synthetic-shadow): "unique" string keys

        * fix(engine): issue 1299 second attempt

        * fix(engine): removing hasOwnProperty check

        * chore: revert changes for vm access by getComponentConstructor

    commit 9a7f822
    Author: Ravi Jayaramappa <ravi.jayaramappa@salesforce.com>
    Date:   Thu Aug 29 14:05:57 2019 -0700

        fix: cloneNode() default behavior should match spec (#1480)

    commit 3cdf650
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Thu Aug 29 05:40:52 2019 -0400

        fix(engine): context to work as expected

    commit 2224bd2
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Thu Aug 29 04:38:45 2019 -0400

        fix(engine): karma tests for context providers

    commit 8b6c978
    Merge: d02243b 5d5f7af
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Thu Aug 29 04:33:58 2019 -0400

        Merge branch 'caridy/wire-reform-2' of github.com:salesforce/lwc into caridy/wire-reform-2

    commit 5d5f7af
    Author: Jose David Rodriguez <jodarove@gmail.com>
    Date:   Fri Aug 30 13:30:34 2019 -0700

        fix: observable-fields

    commit a901a64
    Author: Jose David Rodriguez <jodarove@gmail.com>
    Date:   Thu Aug 29 22:41:50 2019 -0700

        wip: wire register is broken it was making karma fail

    commit d02243b
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Wed Aug 28 07:46:56 2019 -0400

        fix(engine): remove unnecessary comment

    commit c9ad2c5
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Wed Aug 28 02:59:29 2019 -0400

        refactor(engine): context provider options

    commit 6bcf0be
    Author: Caridy Patiño <caridy@gmail.com>
    Date:   Tue Jul 16 23:03:56 2019 -0400

        fix(engine): @wire() protocol reform RFC

fix: rebase issues

fix: wire-reform tests (#1524)

* fix: invalid syntax error on invalid wire param value

When a wire parameter has invalid value (eg: foo..bar, foo.bar[3]) it should (ideally) resolve in a compilation error during validation phase.

This is not possible due that platform components may have a param definition which is invalid but passes compilation, and throwing at compile time would break such components.

In such cases where the param does not have proper notation, the config generated will use the bracket notation to match the current behavior (that most likely end up resolving that param as undefined).

* fix: tests for wire reactive parameters

* fix: unit test register and WireAdapter

* fix: backward compability when adding config listener

* fix: adding general tests for wire adapter

* wip: address pr comments and lint errors

fix: reactivity of wire params (#1526)

* fix: reactivity of wire params

* wip: address review comments

and run performance

* wip: trigger perf measures

* fix: remove valueMutated pruning condition

* fix: add componentValueObserved for consistency

* fix: remove tf because of wired properties being track

before the wire reform.

* fix: ensure component rerender in compat

* fix: tf because registerDecorators happens before registerAdapter

* Revert "fix: tf because registerDecorators happens before registerAdapter"

This reverts commit b2d1a89.

* fix: wire integration tests

fix: rebase issues

fix: remove tests because wire defs is not part of the public api

of getComponentDef

fix: add test for inherited methods

fix: context in targets hierarchy

fix: add registerWireService for backward compability

it is a noop.

fix(engine): remove assertions added by mistake on rebase

fix: rebase conflicts

fix: lint errors

todos errors.

fix: add support for adapters that use wirecontextevent

fix: prefix wired element key with deprecated and remove

redundant options in descriptor

fix: relax adapterId validation to isExtensible

instead of instanceof Object.

In order to be able to register an adapterId, the only precondition needed is that adapterId is extensible. this commit changes the old validation that was doing instanceof Object.

fix: tf because of error message changed

fix: debounce config call when creating component with wire

also, adds an extra data for the wire decorator, indicating if it has dynamic parameters.

fix: incorrect api field config returned from getComponentDef

fix: address pr comments

fix: include 33b91a2 in the wire reform

fix: —strictFunctionTypes issues plus rebase leftovers

Revert "refactor(engine): Decouple createElement from engine internals (#1751)"

This reverts commit 1ea1d60.

# Conflicts:
#	packages/@lwc/engine/src/framework/def.ts
#	packages/@lwc/engine/src/framework/hooks.ts
#	packages/@lwc/engine/src/framework/services.ts
#	packages/@lwc/engine/src/framework/upgrade.ts
#	packages/@lwc/engine/src/framework/vm.ts
#	packages/@lwc/engine/src/framework/wc.ts
#	packages/@lwc/wire-service/src/index.ts
#	packages/@lwc/wire-service/src/property-trap.ts
#	packages/@lwc/wire-service/src/wiring.ts
@jodarove jodarove closed this Apr 6, 2020
@jodarove jodarove deleted the wire-reform/summer20 branch April 6, 2020 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant