Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@lwc/engine

salesforce27.4kMITdeprecated1.17.6TypeScript support: included

Use @lwc/engine-dom instead

LWC Engine

readme

npm version install size license build status

Lightning Web Components Repository

This repository contains the source code for the Lightning Web Components Engine and Compiler. Additionally, it contains examples, documentation, meeting notes and discussion notes for developers contributing or using Lightning Web Components.

Getting Started

Read the Lightning Web Components Dev Guide.

Contributing

To set up your environment and start contributing, read our contributing documentation.

Questions

If you have a general question, post it on the Salesforce stackexchange and tag it with lightning-web-components.

License

The MIT license governs your use of Lightning Web Components.

changelog

(2020-02-03)

Bug Fixes

  • engine: infinite loop in getErrorBoundaryVM (#1704) (7102988)

Features

  • synthetic-shadow: preserve native behavior of attachShadow (#1693) (#1702) (ed43a4a)

1.2.1 (2020-01-24)

1.2.0 (2020-01-23)

Bug Fixes

  • features: unary negation of null flag interpreted as boolean false (#1683) (dc7c1bd)
  • synthetic-shadow: make Event constructor handle composed (#1676) (0baa228)
  • wire: add lowercase wirecontextevent (#1679) (a5d1077)

Features

  • features: runtime flags can only be imported by compiler (#1690) (5936229)
  • template-compiler: support leading hyphen in attr name (#1687) (242f0fb)
  • computed feature flags are not supported (#1694) (f3c479d)

1.1.16 (2019-12-23)

Bug Fixes

Features

  • inline import of the compat and prod libraries (#1640) (ec9f7be)

1.1.15 (2019-12-04)

1.1.14 (2019-11-27)

Bug Fixes

  • restrict tags that can be inside a math tag (#1620) (2f20c47)
  • synthetic-shadow: qunit has issues when document object is patched (#1625) (06d459e)

1.1.13 (2019-11-13)

1.1.12 (2019-11-11)

Bug Fixes

  • compiler: make name and namespace optional (#1609) (54b1529)
  • synthetic-shadow: use native mutation observer for portal elements (#1596) (4b5995f)

1.1.11 (2019-11-01)

Bug Fixes

  • engine: lifecycle callback invocation order for native shadow (#1604) (927d879)

Reverts

1.1.10 (2019-10-31)

Bug Fixes

  • ci: set node version to 10.16.3 until 10.17 is evaluated (#1597) (8f57622)
  • synthetic-shadow: make isNodeShadowed to only check owner key (#1599) (e325eba)

1.1.8 (2019-10-23)

Bug Fixes

  • synthetic-shadow: remove ownerKeys of migrated dom:manual (#1590) (6ec5c9b)

1.1.7 (2019-10-23)

1.1.6 (2019-10-22)

1.1.5 (2019-10-18)

Bug Fixes

1.1.4-alpha1 (2019-10-15)

1.1.4 (2019-10-15)

Bug Fixes

Features

1.1.3 (2019-10-14)

Bug Fixes

  • missing dep (#1553) (a8f49a2)
  • engine: refactor boundary protection for render phase (#1551) (4942cc4), closes #1507 issue#1506
  • feature-flags: Enable feature flags in lwc distribution (#1555) (edc6fbd)
  • features: make @lwc/features a public package (#1552) (f280767)
  • lwc: fix incorrect module path in package.json for lwc package (#1566) (97353d5)
  • module-resolver: typescript module resolution bug (#1567) (6050e1e)
  • synthetic-shadow: addEventListener for custom elements (#1572) (3f8da46)
  • synthetic-shadow: do not patch lwc root elements (#1557) (fd2f57f)
  • synthetic-shadow: querySelectors not returning (#1568) (b5a3c39)

Features

  • element and nodes apis behind a runtime flag (#1550) (03231bb)
  • features: add support for unary negation (#1562) (4671e4c)

1.1.0 (2019-10-04)

Bug Fixes

  • account for clicks on form element labels when delegating focus (#1430) (d5e4be3)
  • add debug mode to facade (#1544) (096e8c8)
  • add wire test to ensure we support named imports (#1468) (828aaca)
  • address security vulnerability CVE-2019-10744 (#1407) (1fe64d8)
  • cloneNode() default behavior should match spec (#1480) (9a7f822)
  • containsPatched when otherNode is null or undefined (#1493) (d9aefa7)
  • convert nodelist to array before passing to native Array methods (#1548) (c3fd522)
  • error from disconnecting an already disconnected vm (#1413) (d61988d)
  • escape hatch for async event target accessor (#1510) (1e55195)
  • focus method invocation inside shadow should not skip shadow (#1442) (bc7f38a)
  • issue with Node.textContent returning text in comment nodes (#1461) (3ad12e2)
  • lwc module not resolving prod mode (#1472) (eeb6930)
  • missing shared dependency (#1543) (3a0a2b6)
  • move private package deps to dev deps (#1531) (6452906)
  • mutationobserver memory leak - use weakmap for bookkeeping (#1423) (165ad3b)
  • nested style fix (#1378) (1cdc92e)
  • package internal dependencies (#1541) (5ad74d3)
  • relax condition to retarget event (#1527) (c6cde9c)
  • remove dead code (#1503) (044077f)
  • remove side effects assertion in non-decorated fields (#1491) (8646642)
  • rollup-plugin module resolve when rootDir is a relative pa… (#1471) (c8da2ee)
  • compiler: prevent underscore attr name camelcasing (#1385) (49162fc)
  • engine: #1295 - removing hack to support old metadata in tests (#1436) (a40d174)
  • engine: issue #858 to enable the ability to have setters reactive (#1038) (c270594)
  • engine: issue 1435 disconnect bug when switching templates (#1443) (b0c4512), closes #1435 #1448 #1435
  • engine: reactive setters behind a flag (#1444) (bdb8d98)
  • engine: template inheritance is broken (#1400) (83d9881)
  • engine: test was incorrect (#1393) (4960afe)
  • features: flag name must match name of imported binding (#1463) (89ee65e)
  • features: remove nested feature flags limitation (#1473) (b4ac97c)
  • wrap iframe contentWindow only for iframe elements that are keyed (#1514) (12df751)
  • rollup-plugin: plugin now correctly resolves relative ts imports (#1516) (d6423f9)
  • synthetic: consider ancestors when determining click-focusability (#1383) (5d4dc4d), closes #1382

Features

Reverts

  • Revert "feat(template-compiler): binding ast parser (#1498)" (#1538) (3e87c2c), closes #1498 #1538

1.0.2 (2019-06-24)

Bug Fixes

  • engine: avoid reusing vnode.elm unless it is style tag for native (#1365) (33f7e0c)
  • synthetic-shadow: expose iframe contentWindow event methods (#1368) (#1375) (eaf9749)

1.0.1 (2019-06-19)

Bug Fixes

1.0.0 (2019-05-29)

Bug Fixes

  • make synthetic-shadow resolvable by module-resolver (#1281) (37f8cf2)
  • synthetic-shadow in Best (#1310) (6fc3b23)
  • engine: using jest environment - upgrading jsdom (#1312) (2a81f7f)

0.41.0 (2019-05-26)

Bug Fixes

  • css-compiler: relaxation of attribute css rules (#1248) (35fb5f5)
  • synthetic-shadow: new added tests using the old test utils (#1254) (34dd4b9)
  • synthetic-shadow: prevent tabbing into tabindex -1 subtrees (#1255) (5eeb2a1)
  • template-compiler: remove HTML attributes validation (#1247) (990063a)

0.40.1 (2019-05-21)

Bug Fixes

  • compiler: stop reporting warnings on absolute imports (#1238) (57210ae)
  • synthetic-shadow: htmlcollection and nodelist (#1232) (7bc96eb)
  • isGlobalPatchingSkipped on iframe document (#1251) (dd9ff2a)

Features

  • jest-transformer: add transform for @salesforce/client (#1235) (fbf9324)
  • template-compiler: disallow <style> inside <template> (a3eae33)
  • template-compiler: remove lwc-depracated:is (#1237) (149d1f6)

0.40.0 (2019-05-15)

Bug Fixes

  • engine: fixes #1199 and #1198 - disconnecting bug (#1202) (#1209) (01be207)
  • prevent tabbing into subtrees with tabindex -1 (#1206) (9f273f5)
  • provide a way to disable document patching (#1221) (f36bbce)
  • refactor mutation observer polyfill to fix memory leaks (#1200) (c2b68ed)
  • engine: membrane should be used on the bridge instead of cmp setter (#1134) (7265f3d)
  • synthetic-shadow: types and bugs in preparation for final split (#1192) (6d2de54)

Features

Reverts

  • Revert "fix: prevent tabbing into subtrees with tabindex -1 (#1206)" (#1233) (040c22a), closes #1206 #1233

0.39.1 (2019-05-02)

0.39.0 (2019-05-01)

0.38.1 (2019-04-30)

0.38.0 (2019-04-30)

Bug Fixes

  • add allow as a valid iframe attribute (#1156) (74a42fc)
  • fix event tests to be shadow aware (#1182) (3cd1191)
  • compiler: add default export support and enable strict mode (#1175) (a429824)
  • compiler: don't use project-wide config (#1163) (1477d56)
  • engine: add instaceof check workaround (#1165) (5490be7)
  • engine: restrict access to ShadowRoot.dispatchEvent (#1176) (01a6506)
  • engine: supporting objects with null prototype in iterators (#1152) (7c5f264)
  • resolver: use require.resolve.paths(); avoid require for json (#1194) (7ef45df)
  • incorrect import in dist type in @lwc/compiler (#1196) (0ed106b)

Features

Performance Improvements

0.37.2 (2019-04-01)

Bug Fixes

  • engine: Make engine more resilient to invalid constructors (#1121) (fee643c)
  • module-resolver: protect against invalid package.json (#1146) (906ac64)
  • template-compiler: restrict srcdoc attribute on all iframe element (#1137) (3aff1a5)
  • unify the descriptor creation process for restrictions (#1144) (bfb577e)
  • use patched MutationObserver to key portal elements (#1147) (5c97354), closes #1022

Features

0.37.1 (2019-03-27)

Bug Fixes

  • babel-plugin-component: correct class member decorator validation (#1122) (22ec3d5)
  • use observable-membrane v0.26.1 (#1111) (df0e91f)
  • engine: prevent focus events when engine manages focus (#1116) (477c5cf)
  • jest-transformer: add babel-preset-jest dependency (#1112) (1f12803)

0.37.0 (2019-03-08)

Bug Fixes

  • include fragment only urls when scoping idrefs (#1085) (4d54d08)
  • babel-plugin-component: validate wire adapter import (#1096) (e3525d5)
  • patch behavior of Node.prototype.getRootNode (#1083) (9f998e8)

Features

  • style-compiler: add support for :dir pseudo class (#1099) (fe3206c)

Performance Improvements

  • engine: optimize vm object to initialize all the fields in advance (#1098) (8b0f9d3)

0.36.0 (2019-03-06)

Bug Fixes

  • jest-transformer: apex import mocks to use named functions (#1093) (c2c1097)
  • wire-service: add lifecycle hook guards (#1092) (dfa87d1)

0.35.12 (2019-03-05)

Bug Fixes

  • properly exit the state entered when clicking into shadows (#1082) (d20fdda)
  • engine: error boundary fix for non-inserted slotted custom elements (#1090) (3b3c278)

0.35.11 (2019-02-27)

Bug Fixes

Features

  • patch MutationObserver to be aware of synthetic shadow dom (#1046) (e80c0cc)

0.35.10 (2019-02-26)

Bug Fixes

0.35.9 (2019-02-22)

Bug Fixes

  • engine: component name in performance marks (#1021) (25ed4c2)
  • engine: Node.compareDocumentPosition spec implication issues (#1063) (cbd210e)
  • move mutation observer to its own modules (#1068) (812c0ce)

Features

0.35.7 (2019-02-14)

Bug Fixes

  • style-compiler: invalid at-rules transformations (#1042) (d97cc22)

Features

  • babel-plugin-component: remove decorator meta collection (#1016) (f5a3a71)

0.35.6 (2019-02-06)

Bug Fixes

  • fix condition for extracting children getter (#1039) (b9a3237)

0.35.5 (2019-01-28)

Bug Fixes

Features

  • engine: remove non-trackable object warning (#1003) (735e8ea)

Reverts

  • Revert "Revert "fix(engine): implement composedPath, srcElement and path for events (#859)" (#983)" (#993) (8c5076e), closes #859 #983 #993

0.35.4 (2019-01-19)

Reverts

  • Revert "fix(engine): implement composedPath, srcElement and path for events (#859)" (#983) (2da65c1), closes #859 #983

0.35.2 (2019-01-18)

Bug Fixes

  • engine: closes #958 after fixing parentElement ref in slotted node (#959) (0ec65ea), closes #967
  • engine: correct error type from Reference to Type (#945) (42fd8d7)
  • engine: fixes #973 to support cloneNode with ie11 devtool comment (#974) (4931eec)
  • engine: fixes issue #129 - removal of dangerousObjectMutation (#831) (b65c1f6)
  • engine: implement composedPath, srcElement and path for events (#859) (c415ece)
  • engine: to use the later version of observable membrane (#848) (9f63a10)
  • should always have access to slotted elements (#939) (b767131)

Features

  • compiler: improve error message consistency (#969) (5c16e22)
  • engine: improve createElement() second parameter error messages (#944) (8dc263b)

0.35.1 (2019-01-11)

Bug Fixes

  • engine: regular dom nodes can use object type event listeners (#943) (adf3504)

0.34.0 (2019-01-10)

Bug Fixes

  • engine: patching events from lwc to be deterministic (#870) (8d3fc9f)

Features

  • compiler: add bundle entry name + filenames case validation (#902) (39b1e00)

0.33.28-1 (2019-01-09)

0.33.28-alpha3 (2019-01-09)

Bug Fixes

  • engine: to show shadow in IE11 devtool DOM explorer (#904) (6e2817f)
  • jest-transformer: update @salesforce/apex transform (#924) (a3d6af5)
  • Add crossorigin as valid img tag attribute (#918) (e861600)

Features

  • rollup-plugin: add stylesheetConfig to rollup-plugin options (#921) (ca43c83), closes #920

0.33.26 (2018-12-21)

Bug Fixes

  • compiler: remove misleading and useless stack info on CompilerError (#893) (860da4f)
  • module-resolver: wrong path separator in glob call (#895) (7f1f954)

Features

0.33.25 (2018-12-14)

Bug Fixes

  • avoid directly extending constructors that are objects in ie11 (#880) (04dbd20)

0.33.24 (2018-12-13)

0.33.23 (2018-12-13)

0.33.22 (2018-12-13)

0.33.21 (2018-12-13)

0.33.20 (2018-12-13)

0.33.19 (2018-12-13)

0.33.18 (2018-12-13)

Bug Fixes

  • engine: closes #871 - support for svg manual injection (#872) (4851400)
  • error when 2 perf markers are stacked (#865) (1bce3c7)
  • errors package as hard dep in jest-transformer (#884) (9d8717c)

0.33.17 (2018-12-12)

Bug Fixes

  • engine: removing lwc:dom error when ownerkey is not defined (#879) (b68a72a)

0.33.16 (2018-12-07)

0.33.15 (2018-12-06)

Bug Fixes

  • compiler: convert placeholder error codes into real numbers (#877) (ae92210)

0.33.14 (2018-12-06)

Features

0.33.13 (2018-12-06)

0.33.12 (2018-12-05)

0.33.11 (2018-12-05)

Bug Fixes

  • engine: bunch of broken tests (#853) (94e6d2f)
  • hide component to vm mapping from user (#860) (5010713)
  • restrict script in MathML and remove srcdoc on iframe (#867) (11d906f)
  • engine: deep manual dom elements fix (#874) (041eb1e)

0.33.10 (2018-11-29)

Bug Fixes

  • compiler: include start and length with diagnostics (#856) (b4fad21)
  • minor guard (#863) (f439c16)
  • engine: [218] implementation for clone node (#864) (0f41231)
  • engine: retargeting elementFromPoint without elementsFromPoint (#866) (c665b9a)

0.33.9 (2018-11-26)

0.33.8 (2018-11-26)

Bug Fixes

  • Prevent Javascript injection via ${} in the CSS (#851) (6760e2a)
  • engine: close #849 by implementing move hook (#852) (6c05d12)
  • engine: relatedTarget might not be present (#857) (16528a5)
  • engine: retarget to null instead of undefined (#850) (058e40c)

0.33.7 (2018-11-20)

0.33.6 (2018-11-19)

Bug Fixes

Performance Improvements

0.33.5 (2018-11-15)

0.33.4 (2018-11-15)

0.33.3 (2018-11-15)

Bug Fixes

Features

  • compiler: collect default value metadata for @api properties (#816) (c64e4b3)

0.33.2 (2018-11-14)

Bug Fixes

  • return correct target when handler is document/body owned (#836) (5203d43)
  • typescript definitions for lwc and wire roots (#835) (3217ce9)
  • engine: loopholes in our synthetic shadow for local traversing (#779) (fc6dc9c)

Features

  • template-compiler: remove "is" support and add lwc-deprecated:is (#834) (f15ad9f)

0.33.1 (2018-11-13)

Bug Fixes

0.33.0 (2018-11-13)

Bug Fixes

  • error when document.activeElement is null (#823) (5c70269)

Features

0.32.1 (2018-11-12)

Bug Fixes

Features

  • Allow for implicit/explicit resolution (#813) (738956f)

0.31.6 (2018-11-09)

Bug Fixes

  • engine: fix for delegatesFocus with tabindex=0 (#812) (81f0dbd)
  • engine: fix more ie11 flappers (#814) (60f17bc)
  • engine: loosening restrictions on focus elements (#790) (d520c72)
  • engine: marking dynamic nodes as dynamic (#810) (958201c)
  • engine: remove log when accessing childNodes (#817) (9a29102)
  • engine: removing aggressive assert (#818) (fdbc119)

Features

0.31.4 (2018-11-07)

Bug Fixes

  • add microtasking to integration tests (#808) (7c4b834)

0.31.3 (2018-11-06)

Bug Fixes

Features

  • engine: getRootNode in patched nodes (#786) (ede0d7b)

0.31.2 (2018-11-03)

Bug Fixes

0.31.1 (2018-11-02)

Bug Fixes

  • engine: using tabindex getter in assert (#785) (e56b4e2)
  • remove harmful warning that encourages composed events (#795) (e5cc47e)

Features

0.30.7 (2018-10-29)

0.30.6 (2018-10-29)

0.30.5 (2018-10-29)

Bug Fixes

  • compiler: resolve error code conflicts (#770) (8885eb6)

0.30.4 (2018-10-26)

Bug Fixes

0.30.3 (2018-10-26)

Bug Fixes

  • engine: fix issue #766 to patch query selectors (#769) (81093fc)
  • engine: focus delegation fixes to narrow false positives (#763) (22e75a5)
  • wire-service: workaround babel minify issue in compat mode (#768) (8e718ae)

Features

  • jest-transformer: add transform for @salesforce/i18n (#758) (00a13cc)
  • wire: use class property default values (#767) (4c76b9a)

0.30.2 (2018-10-24)

Bug Fixes

  • compiler: resolves conflicts between locator and errors work (#759) (a212efd)
  • engine: error when event listener was on document (#762) (6471a65)

Features

  • compiler: Implement error codes system onto compiler modules (#726) (3ee81d5)
  • Add support for locators (#701) (464daf4)
  • compiler: throw on any non-whitelisted lwc imports (#752) (9652133)

0.30.1 (2018-10-22)

0.30.0 (2018-10-21)

Features

0.29.26-1 (2018-10-16)

Features

  • compiler: collect module exports metadata (#735) (3509be5)

0.29.26 (2018-10-16)

Bug Fixes

  • retargeting works as expected for innerHTML template modifications (#739) (efa6a66)

0.29.25 (2018-10-15)

0.29.24 (2018-10-15)

0.29.23 (2018-10-15)

0.29.22 (2018-10-15)

Features

0.29.21 (2018-10-13)

0.29.20 (2018-10-12)

Bug Fixes

  • compiler: static tabindex attr can only be 0 or -1 in templates (#660) (7a2f3f4)

0.29.19 (2018-10-11)

Bug Fixes

Features

  • remove backwards compatibility support for "engine" (#721) (e312f54)
  • engine: inline styles to support native shadow (#540) (cecd751), closes #691

0.29.18 (2018-10-10)

0.29.17 (2018-10-10)

Bug Fixes

  • engine: fixes issue #710 - add better error for invalid template (#718) (7c6009f), closes #693
  • engine: support multi-level slotting when retargeting and querying (#712) (7a22a8b)

Features

  • engine: add API for finding the constructor of a custom element (#704) (f08d689)

0.29.16 (2018-10-07)

Bug Fixes

  • engine: integration flapper - async-event-target (#715) (6a7de86)

Reverts

  • Revert "feat(parse5): update parse5, usage, tests (#707)" (#716) (d820941), closes #707 #716

0.29.14 (2018-10-05)

Bug Fixes

  • engine: fix traversal for error boundaries in native shadow DOM (#686) (b4b29a1)

Features

  • compiler: add sourcemap to options and result (#696) (2a3ce0f)
  • introduce secure API for template verification (#693) (3b4a63e)
  • jest-transformer: generate jest tests sourcemaps (#706) (2b3b28d)
  • parse5: update parse5, usage, tests (#707) (64206dc)

0.29.13 (2018-10-03)

Features

Performance Improvements

0.29.12 (2018-10-03)

0.29.11-1 (2018-10-02)

Bug Fixes

Features

  • bundle metadata to include modules used and their props @W-5395396 (#672) (039a2af)

Performance Improvements

0.29.11 (2018-10-02)

Features

  • engine: adding basic support for slotchange event (#635) (ee0d7f3)

0.29.10 (2018-10-02)

Features

0.29.9 (2018-09-29)

Bug Fixes

  • engine: identify LWC console logs (#674) (816b643)
  • jest-transformer: update tests to reflect namespace syntax (#685) (648922f)
  • zindex optimization in prod (#690) (88f3dcd), closes #689

Features

  • jest-transformer: add transform for @salesforce/contentAssetUrl (#684) (b711b32)

0.29.8 (2018-09-27)

Bug Fixes

0.29.7 (2018-09-27)

Bug Fixes

  • engine: bail retargeting if target is detached (#679) (faf9cd4)

0.29.7-pre01 (2018-09-26)

Bug Fixes

Features

  • augments metadata gathering for @wire decorator (#631) (4920a4e)
  • compiler: warnings to change dynamic ids to static ids (#620) (a32289a)
  • better error message when event listener is missing (#656) (e77f7a7)
  • postcss-plugin-lwc: make CSS transform compatible with shadow DOM (#637) (69ece4b)

Performance Improvements

0.29.1 (2018-09-13)

0.29.0 (2018-09-13)

Bug Fixes

  • rename @salesforce/resource-url to @salesforce/resourceUrl (#638) (2a86c4d)

Features

0.28.2 (2018-09-09)

Bug Fixes

Reverts

0.28.0-rc1 (2018-09-08)

0.27.1 (2018-09-05)

Bug Fixes

  • engine: asserts logs require elm to print component stack (#573) (387fd05), closes #563

Features

  • babel-plugin-transform-lwc-class: add component tag name support (#621) (57cae0c)
  • compiler: add namespace support for js/html transform (#611) (d5ced31)
  • engine: adding this.template.activeElement into faux-shadow (#612) (90d18ef)

Performance Improvements

  • engine: trying to get best back on track (#616) (6e78171)

0.27.0 (2018-08-25)

Bug Fixes

  • engine: undefined initial values should be respected (#558) (e2f24b8), closes #490

0.26.0 (2018-08-24)

Bug Fixes

0.25.5 (2018-08-15)

Bug Fixes

  • build: update version before building dist files to publish (#585) (bd5da03)
  • disable verify when using auth token (#587) (2a3ec2a)
  • remove npm client configuration (10ef9be)

0.25.5-alpha (2018-08-14)

Bug Fixes

Features

  • engine: polyfill for non-composed click events (#568) (d15b77b)

0.25.4 (2018-08-12)

Bug Fixes

0.25.3 (2018-08-11)

0.25.3-alpha11 (2018-08-11)

0.25.3-alpha07 (2018-08-10)

0.25.2 (2018-08-10)

0.25.2-alpha01 (2018-08-09)

Bug Fixes

0.24.20 (2018-08-07)

0.24.19-alpha03 (2018-08-06)

0.24.17 (2018-08-06)

0.24.17-alpha02 (2018-08-06)

Bug Fixes

  • upgrade compat dependencies (add setPrototypeOf) (#559) (b982bd8)

Features

  • allow both "lwc" and "engine" sources (#560) (501586c)

0.24.16 (2018-08-02)

0.25.1-alpha24 (2018-08-02)

0.25.1-alpha19 (2018-08-01)

Bug Fixes

  • compiler: correct module-resolver error messages @bug W-5192589@ (#551) (d1e93cc)

0.25.1-alpha18 (2018-08-01)

Bug Fixes

  • engine: never access props from proxies (#546) (d0cf318)
  • lwc-compiler: invalid CSS generation when minified is enabled (#552) (f19ebb1)

0.25.1-alpha17 (2018-07-31)

0.25.1-alpha16 (2018-07-31)

Bug Fixes

  • update babel-minify to fix minification issue (#545) (3c68a69)

0.25.1-alpha15 (2018-07-31)

Reverts

  • Revert "release: v0.25.1-alpha12" (b3ba230)

0.25.1-alpha14 (2018-07-31)

0.25.1-alpha11 (2018-07-30)

Bug Fixes

  • engine: wrapping assert for dev-only (#544) (751904b)

0.25.1-alpha06 (2018-07-27)

Bug Fixes

  • engine: closes issue #538 to support remove listener during invoke (#541) (19121d1)

0.24.13-alpha01 (2018-07-26)

Bug Fixes

  • ci: run prepare before release (#531) (c2379c7)
  • engine: closes #524 relax attribute mutation assertion (#525) (0fad9ab)
  • engine: refactor condition to apply event-composed polyfill (#534) (84fbfd0)
  • Escape backtick and backslash in CSS (#536) (237d88b), closes #530

Features

  • lwc-template-compiler: Add new compiler API compileToFunction (#528) (9cd6952)

0.24.2 (2018-07-18)

0.24.1 (2018-07-13)

Bug Fixes

  • engine: [214] no longer sharing shadow targets (#443) (#446) (119df9c)
  • engine: bug introduced that breaks circular on proto chain (#505) (b8287f1)
  • engine: closes #486 to lowercase tag names (#494) (704422f)
  • engine: closes issue #225 - value and checked props are live (#471) (473a1b3)
  • engine: composed event whitelist (#462) (3b57eb7)
  • engine: engine code should never go thru a proxy obj (#424) (50fbc52)
  • engine: forcing composed: true for focusout events (#465) (3c0a6cb)
  • engine: handling AOM properties on anchor tags (#488) (575f881)
  • engine: handling event target in window listeners (#499) (0ff8ff2)
  • engine: incorrect key for the owner when retargeting (#472) (539386a)
  • engine: issue #180 - getAttribute for data-foo (#468) (fcbbd0d)
  • engine: opt-out of initial undef prop value in diff (#490) (17133c6)
  • engine: removing "is" in benchmarks (#451) (b86af35)
  • engine: support locker to manually create elements (#508) (87b86e5)
  • engine: validate slot names on every rendering (#470) (df6e612)
  • lwc-template-compiler: iteration in SVG element (#460) (ff91f08)
  • test-utils: convert to cjs module (#431) (3e65275)
  • wire-service: error with invalid adapter id (#475) (bb0a064)
  • wire-service: support optional config object on @wire (#473) (34f0d85), closes #181 #149
  • add missing npm dependency. Allow dynamic imports (#461) (651494c)

Features

  • CSS variable injection (#426) (c8d0f9c)
  • compiler: checked transformation errors (#496) (d2f6e63)
  • compiler: do not enforce getter/setter pairs for api decorators (#474) (b662c5d)
  • engine: api to build custom elements (#87) (614e8dd)
  • engine: Implements slot assigned nodes/elements (#442) (8b26852)
  • jest-transformer: Add babel transform for new scoped imports (#463) (4893505)

Reverts

  • Revert "refactor(engine): locker does not longer need to leak base constructor (#509)" (#510) (a4af587), closes #509 #510

0.23.2 (2018-06-14)

Bug Fixes

  • engine: adding integration tests for async events (#411) (4e2e222)

Features

  • test-utils: add lwc-test-utils with templateQuerySelector API (#414) (c07376c)

0.23.1 (2018-06-13)

Bug Fixes

  • engine: never use a dot notation of patched objects (#410) (2c6b1f4)
  • jest-preset: remove trailing comma from json (#409) (369e073)

0.23.0 (2018-06-13)

Bug Fixes

  • simplify style logic in template compiler (#314) (598d940)
  • Use token for the styling host element instead of tag name (#390) (cccc63d), closes #383
  • engine: adding more tests for proxies (#407) (7c2ae0a)
  • engine: allowing global listeners (#404) (da2d3c7)

Features

  • Add customProperties config to postcss-lwc-plugin (#349) (231e00d)

0.22.8 (2018-06-12)

0.22.7 (2018-06-10)

0.22.6 (2018-06-08)

Bug Fixes

  • compiler: displaying correct ambigious attribute name (#377) (4c0720a)
  • engine: Adding warning on native shadow childNodes (#382) (156b03d)
  • engine: handling dispatching events inside of root event handlers (#391) (02b9402)
  • engine: including text nodes to childNodes (#389) (9cbd853)
  • engine: remove non-track state warning (#376) (485357e)
  • engine: shadow root childNodes (#374) (a4c21a0)

Features

  • compiler: support default import identifier for wire decorator (#378) (905dd78)
  • engine: slot assignedSlot property (#381) (6a36afc)
  • lwc-compiler: add baseDir support (#375) (d1cf4a7)

0.22.5 (2018-06-03)

Bug Fixes

0.22.4 (2018-06-03)

Bug Fixes

  • removing shadowRoot property from elements (#371) (fb1e968)

0.22.3 (2018-06-02)

0.22.2 (2018-06-02)

Bug Fixes

  • engine: expose shadowRoot if the mode is open (#367) (3de5ec3)
  • engine: fixing slotted event targets (#368) (def3b83)

0.22.1 (2018-05-31)

Bug Fixes

  • engine: fixed #342 - clean up and docs (#358) (01c7eb8)
  • engine: fixing event target from slotted element (#359) (594e508)
  • engine: going through cmpRoot to get default aria value (#360) (6322456)

0.22.0 (2018-05-31)

Bug Fixes

  • engine: removing iframe content window unwrapping (#356) (14f8e8b)

Features

0.21.0 (2018-05-29)

Bug Fixes

  • engine: live bindings for value and checked properties 3nd attempt (#340) (ef4acff)
  • engine: preserve order of event dispaching between CE and SR (#309) (1a1ba17)
  • engine: remove piercing membrane (#324) (1e4c7f1)
  • tests: fixed event integration test (#346) (7402138)

Features

0.20.5 (2018-05-23)

Bug Fixes

  • event retargeting issue with nested component (#338) (a21121b)
  • getRootNode when composed is false and the element is the root (#337) (8dd8392)

0.20.4 (2018-05-21)

Bug Fixes

  • engine: Fixing composed on getRootNode call in pierce (#313) (6ad3b7c)
  • Ensure uniqueness of public properties are compile time (#323) (bf88354)
  • Forbid usage of :root pseudo-class selector (#303) (7413286)
  • Linting issue introduced by merge on master (#315) (6ad80ca)
  • Transform standalone pseudo class selectors (#310) (9adea2d)

Features

  • Add support for style injection in compiler (#302) (3b754f8)
  • Restrict usage of attributes in stylesheets (#316) (948fbb9), closes #261

0.20.3 (2018-05-15)

Bug Fixes

0.20.2 (2018-05-11)

Bug Fixes

  • engine: add existence check in removeChild (#285) (81642fd)
  • engine: define setter along with getter in global html attr (#277) (5324101)
  • engine: fixes #203 - improving error message for iteration key (#230) (4ecce8a)
  • engine: isBeingConstructed flag is not get out of sync (#284) (888bd0d)

Features

  • compiler: introduce compile/transform/bundle diagnostics (#256) (950d196)
  • engine: addEventListener on component instance (#276) (a9533af)
  • github: separate features and issues into separate template (#281) (b8889b0)

Performance Improvements

Reverts

  • Revert "feat(compiler): introduce compile/transform/bundle diagnostics (#256)" (#282) (8bf1dd5), closes #256 #282

0.20.0 (2018-04-24)

Bug Fixes

  • aom: consolidating the aria dom property names (#192) (13cd8c4)
  • Add Safari polyfill for Proxy (#197) (e9dc833)
  • Misc. compat fixes (#198) (480e99a)
  • Revert preventDefault polyfill (#207) (274b81c)
  • compiler: optional second parameter for wire decorator (#193) (5eb02f0), closes #181
  • lwc-engine: Refactor destroy hooks to avoid leaks and guarantee disconnectedCallback (#204) (f78a335)
  • wire-service: params is always initialized as an empty object (#179) (b969b5c)

Performance Improvements

0.19.0-0 (2018-03-27)

Bug Fixes

  • compiler: Compiler errors for missing keys in iterator (#138) (de8ee82)
  • engine: do not use global removeEventListener (#174) (ac38122)
  • rollup-plugin-lwc-compiler: Removing any COMPAT code on DEV (#158) (7da31a7)
  • wire-service: compat integration tests (#178) (71050f8)

Features

  • commits: add pre-commit hook for msg validation (#164) (13bd495)
  • compiler: Native HTML Attributes + Null removal (#172) (45e27cb), closes #167 #170
  • engine: adding support for composed and retargeting (#141) (c89c20b)
  • wire-service: rfc implementation (#166) (b1b89e0), closes #148

0.18.1 (2018-03-15)

Bug Fixes

  • lwc-engine: Add pragma to engine artifacts (#156) (f83397c)
  • lwc-wire-service: Fix project and playground (#151) (7c91533)

Features

  • engine: issue #153 adds a mechanism for LDS to create readonly obj (#154) (3de8834)

0.18.0 (2018-03-13)

Bug Fixes

Features

0.17.19 (2018-03-05)

Bug Fixes

  • Babel version mismatch + adding missing dependencies (#135) (055f92e)

0.17.18 (2018-03-03)

Bug Fixes

Features

  • compiler: migrate referential integrity into lwc-compiler (#109) (029e879)
  • engine: Read-only escape hatch (#128) (2fd26af)
  • git: enforce commit message validation (#78) (745e44e)

0.17.16 (2018-02-15)

Bug Fixes

  • benchmarks: Remove snabdom from yarnlock (#80) (dbee555)
  • benchmarks: Upgrade best, dedupe benchmark tests (#92) (258f368)
  • compiler: fix test-transform assert (#77) (9419c58)
  • compiler: invalid metadata used in decorator index (#88) (93c73fe)
  • compiler: Validate decorated properties (#101) (d50e217)

Features

  • compiler: compiler metadata (#76) (9a57344)
  • engine: Expose element attribute methods (#25) (9d9d7d9)
  • engine: Implement performance timing (#98) (a027300)
  • engine: refactoring abstraction for create, insert, remove and render to support CE (#97) (4b3b3d9)

0.17.15 (2018-02-07)

Bug Fixes

  • compiler: allow multiple @wire for different properties or methods (#72) (d9223fd)

Features

Performance Improvements

  • benchmarks: Migrate remaining benchmark to best (#67) (1c05721)
  • benchmarks: Upgrade best (#73) (f815d7b)

0.17.14 (2018-02-06)

Bug Fixes

  • rollup-plugin-lwc-compiler: Fix peer-dependencies (#59) (90fb663)
  • transform-lwc-class: Restrict import specifiers on engine (#57) (bbb75de)

Features

  • babel-plugin-transform-lwc-class: Transform imported decorators (#49) (172c75b)
  • rollup-plugin-lwc-compiler: Default replace for prod mode (#64) (7f92064)

0.17.13 (2018-02-02)

Bug Fixes

  • engine: Lock in uglify-es version (#42) (b76e980)
  • engine: Wrapping iframe content window in facade (#13) (a29cbcd)

Features

  • lwc-compiler: Remove old label syntax (#23) (29cb560)
  • proxy-compat: Add disable compat transform pragma (#24) (f10d033)
  • wire-service: imported function identifier as adapter id for @wire (#26) (2c5c540)
  • wire-service: update wire method arg to an object (#44) (6eae53d)

0.17.9 (2018-01-24)

Features

  • babel-plugin-transform-lwc-class: Revert transform imported decorators (#27) (5339d5b)
  • babel-plugin-transform-lwc-class: Transform imported decorators (#16) (0a8e11f)

0.17.8 (2018-01-17)

Bug Fixes

  • compiler: Allow data to be a valid prop name (#7) (b5a7efd)
  • packages: use conventional-changelog instead of lerna's conventional-commits (#9) (ef42218)

0.17.7 (2018-01-12)

Bug Fixes

  • Handle empty comments (#962) (6bee31c)
  • compat: Do not wrap iframes in membrane (#968) (2c1a88a)
  • compat form tag rendering: Fixes issue where form tags could not be rendered (#961) (c4d8484)
  • integration tests: Fix failing compat tests. Safari 10.1 driver fix. (#975) (0d5a50c)
  • lwc-integration: Fix Safari10 SauceLabs config (#978) (4f24752)
  • wire-service: Fix wire-service es5 build and related integration tests (#971) (bf91a13)

Features

  • integration: Ability to specify target browsers (#969) (dd8f43b)

0.17.6 (2017-12-26)

0.17.5 (2017-12-26)

0.17.2 (2017-12-14)

0.17.0 (2017-12-12)

0.16.5 (2017-11-17)

0.16.4 (2017-11-17)

0.16.3 (2017-11-11)

0.16.2 (2017-11-10)

0.16.1 (2017-11-10)

0.16.0 (2017-11-03)

0.15.3 (2017-10-26)

0.15.2 (2017-10-23)

0.15.1 (2017-10-22)

0.15.0 (2017-10-20)

0.14.11 (2017-10-19)

0.14.10 (2017-10-09)

0.14.9 (2017-10-06)

0.14.8 (2017-10-03)

0.14.7 (2017-10-02)

0.14.6 (2017-09-27)

0.14.5 (2017-09-25)

0.14.4 (2017-09-21)

0.14.3 (2017-09-16)

0.14.2 (2017-09-11)

Reverts

  • Revert "Revert "making connectedCallback, disconnnectedCallback and renderedCallback to be sync, and follow the WC semantics" (#611)" (#614) (3c029b9), closes #611 #614

0.14.1 (2017-09-08)

Reverts

  • Revert "making connectedCallback, disconnnectedCallback and renderedCallback to be sync, and follow the WC semantics" (#611) (2d39840), closes #611 #552 #598 #558 #587

0.14.0 (2017-08-31)

0.13.1 (2017-08-01)

0.13.0 (2017-07-30)

0.12.4 (2017-07-14)

0.12.3 (2017-07-08)

0.12.2 (2017-07-06)

0.12.1 (2017-07-06)

0.12.0 (2017-07-05)

0.11.9 (2017-06-24)

0.11.8 (2017-06-24)

0.11.7 (2017-06-20)

0.11.5 (2017-06-20)

0.11.4 (2017-06-15)

0.11.3 (2017-06-13)

0.11.2 (2017-06-13)

0.11.1 (2017-06-13)

0.10.5 (2017-06-05)

0.10.3 (2017-05-24)

0.10.2 (2017-05-23)

0.10.1 (2017-05-23)

0.10.0 (2017-05-23)

0.9.1 (2017-05-09)

0.9.0 (2017-05-08)

0.8.1 (2017-04-15)

0.8.0 (2017-04-14)

0.7.1 (2017-04-10)

0.7.0-rc (2017-04-10)

0.7.0 (2017-04-10)

0.6.3 (2017-04-06)

0.6.2 (2017-04-04)

0.6.1 (2017-03-31)

0.6.0 (2017-03-29)

0.5.1 (2017-03-28)

0.5.0 (2017-03-21)

0.4.10 (2017-03-15)

0.4.9 (2017-03-15)

0.4.8 (2017-03-15)

0.4.7 (2017-03-14)

0.4.6 (2017-03-14)

0.4.5 (2017-03-14)

0.4.4 (2017-03-13)

0.4.3 (2017-03-13)

0.4.2 (2017-03-13)

0.4.1 (2017-03-11)