💚 0.13.0-0 (2018-09-04)
- compiler: emit optional token when appropriated (#1050) (870a0fc)
- compiler: mark any types correctly (8c6bcd9)
- css-shim: using class scoped CSS (2b969cc)
- dev: add dynamic and shadow-dom checks (fd2016e)
- compiler: methods should return a promise (98510d5)
- bundle: enable rollup optimizeChunks (7e00230)
- bundling: improve cross encapsulation bundling (3e181c1)
- core: reduce size and improve runtime perf (#787) (8e94403)
- dev: shadow-dom polyfill is not needed in dev mode (b3bfd9a)
🏋 0.12.4 (2018-08-30)
- move functional component definitions to file for external builds. (4e17c9e)
- add rollup module info to stats and upgrade rollup. (b6ee592)
🎩 0.12.3 (2018-08-29)
- angular: promisy types is not longer needed (d6ba49b)
🚖 0.12.2 (2018-08-28)
- correct rollup globals plugin to include the correct local path to the globals files. (cf81429)
- add types to decorators to ensure that they are assigned correctly. (99d058e)
🤘 0.12.1 (2018-08-27)
- ensure all '@stencil/core' types are changed to './stencil.core' in components.d.ts file. (638ad47)
🚑 0.12.0 (2018-08-27)
- angular: event emitters work programatically (dabcf5e)
- angular: promisify methods (0ad19de)
- angular: using Component instead of Directive (d3b3c80)
- config: add esModuleInterop (2865fae)
- escapeCssForJs: test for string input (297fa2e)
- method: remove focus() and blur() from blacklist (fbcc368)
- angular: export local element interfaces to be used in angular type definitions. (fc081a3)
- types: export StencilComponents from core builds and all import to angular builds. (#1033) (a8ba582)
- build: move rollup node globals plugin local to resolve its issue with dynamic imports. (ce72eb6)
- build: do not exclude /test/ directory from build (12f650d)
- exports: remap esm exports from collection directory to a local es5 directory. (dbd8cac)
- types: move global type definitions of JSX into a projects component.d.ts file (#1018) (7e4e501)
⛰ 0.11.4 (2018-08-12)
This release includes a change to the interface of functional components. This change should make working with components simpler and more predictable.
Previously children were included with props as the first parameter in the components signature. The change has moved children out into the second parameter. You can now assume that children is always passed and its value will always be an array. If there are no children the array lenght will be zero.
- const Component: FunctionalComponent<PropInterface> = ({ children, ...props}, utils) => {
+ const Component: FunctionalComponent<PropInterface> = (props, children, utils) => {
- types: Update available config options for nodeResolveConfig to allow for string arrays. (72dca29)
- functional components: add index and array to functional utility methods map and foreach. (a3abc85)
🔥 0.11.3 (2018-08-08)
- events: prevent ael and rel property renaming (509fca2)
🎯 0.11.2 (2018-08-07)
- testing: ensure that testing files are getting Build conditionals propertly removed. (f039aab)
🐝 0.11.1 (2018-08-06)
- angular: disable tslint for generated code (4ea8b9c)
- config: expose limited rollup options for input and output. (9f969a6)
- components: reduce size of components.d.ts distribution (e149120)
🍇 0.11.0 (2018-07-31)
Update stencil.config.js:
- const sass = require('sass');
- const postcss = require('@stencil/postcss');
+ const { sass } = require('@stencil/sass');
+ const { postcss } = require('@stencil/postcss');
Or migrate to strong typed configuration:
-
Step 1: rename
stencil.config.js
=>stencil.config.ts
-
Step 2: use ES modules instead of commonjs
import { Config } from '@stencil/core';
import { sass } from '@stencil/sass';
import { postcss } from '@stencil/postcss';
import * as autoprefixer from 'autoprefixer';
export const config: Config = {
plugins: [
postcss({
sass(),
plugins: [autoprefixer()]
})
]
};
Using stencil.config.ts provides many DX improvements such as: autocompletion and documentation built into the IDE and detection of errors at compiler time!
Example: https://github.com/ionic-team/ionic-pwa-toolkit/blob/master/stencil.config.ts
- config: typed stencil.config.ts and config error reporting
- config: export public config interface (b15d5e7)
- prerender: css scope ids as classnames instead of attributes
- prerender: use ssrc and ssrv attributes instead of data-ssrc and data-ssrv attributes
- set-accesor: boolean values (aac503b)
- cache: bust fs cache for internal encapsulation rename (9db7d49)
- cache: commit cache for all builds and clean up fs cache periodically (5c1a1cc)
- cache: ensure external imports are correctly read from the fs cache (646314c)
- css: strips comments before resolving css imports (f822c08), closes #955
- fs-watch: reload window if service worker changed (5c9268b)
- minifier: migrate js minifier from uglify-es to terser (cbaa274), closes #913
- prerender: fix prerendered styles for scoped css (fd8784f)
- queue: always pass timestamp (12a440c)
- types: relax types for plugins (c949659)
📍 0.10.10 (2018-07-26)
- compiler: skip globalStyles if buildDir is undefined (400c131)
- css-docs: parse source style files for docs (d1b83f0)
- minify: do not minify inline scripts that are not js types (71b2c8d), closes #948
- css-docs: generate docs for css custom properties (c0336e0)
🚞 0.10.9 (2018-07-24)
- esm: fix esm style imports for browsers w/ no shadow dom support (610be85)
🎖 0.10.8 (2018-07-23)
- dev-server: fix dev-server when using custom baseUrl (29e25a4)
- incorrect types on utils fixed. (bce3ecc)
- dev-server: set src for dev-server client to requested url (17cb7ee), closes #940
- globalStyle: fix autoprefixer for globalStyle and improve rebuild times (03472f0)
- update functional component util to have map and foreach. (a0daaae)
- check-version: periodically check if using latest stencil version (3a558b1)
🚐 0.10.7 (2018-07-16)
- style: fix resolving css imports (268840e)
🎭 0.10.6 (2018-07-14)
- dev-server: open build error in editor and go to line/column (e37daca)
- dev-server: open file in editor (78f73fc)
- dev-server: fix dev-server --root cmd arg (43a554b), closes #928
- types: fix input capture attr type (594683f), closes #925
🚡 0.10.5 (2018-07-13)
- hmr: call componentDidLoad on hmr reload (74f9ad0)
- build: improve style rebuild times (fbfc237)
🌷 0.10.4 (2018-07-12)
- dev-server: include domain in href to dev server client script (41c03a8), closes #921
- styles: fix applying jsCase css properties in style attribute (f1ea5b0), closes #919 #924
🌺 0.10.3 (2018-07-12)
- dev-server: update web socket library for node10 fixes (deb31e0)
🍔 0.10.2 (2018-07-10)
- dist: fix local core stencil types (1fdcbdc)
- hmr: add/remove listeners from component changes (93d7158), closes #915
- set-accessor: css vars in inline style (cf09375)
- types: root d.ts are properly generated (3d5a8bc)
- worker: fallback to main thread runner when child processes never startup (d8cd648)
🐵 0.10.1 (2018-07-09)
- worker: create unique worker ids (57b3055)
🚀 0.10.0 (2018-07-09)
@stencil/core
now ships with an integrated dev-server which communicates directly with the build process. Stencil's integrated dev-server enables hot module replacement (HMR), which allows components to self-update without requiring a full webpage reload. Additionally, style changes within web components are also able to reload styles without a webpage reload. Other features from the integrated dev-server include build-time error reporting directly within the browser, both as an overlay and within console.logs.
The new @stencil/core
integrated dev-server is a replacement for the external @stencil/dev-server
package, but the previous package will continue to work if no changes are made to an app's npm scripts. To start testing out the new dev-server, within the app's package.json
scripts:
Update:
sd concurrent \"stencil build --dev --watch\" \"stencil-dev-server\"
To:
stencil build --dev --watch --serve
Note that the updated command is no longer requiring sd concurrent
, which is from the @stencil/utils
package, and no longer requires stencil-dev-server
, which is from the @stencil/dev-server
package. Unless the app is using these packages elsewhere, both can
safely be removed as a dependency.
Next, the stencil.config.js
file can also remove the entire exports.devServer = {...}
config since it is no longer used.
- dev-server: integrate dev server w/ build and hot module replacement (b8f56b4)
- dev-server: initial build logs w/in browser (5cc8821)
- hmr: add devServer.excludeHmr config glob (e46f0d0)
- hmr: enable hot module replacement for legacy builds (8533ec6)
- hmr: init dev-mode hot module replacement (b698710)
- serve: create
stencil serve
for stand-alone http server (33056ac) - styles: ensure multiple style modes can be used on same page (26a40f5)
- angular: emit proxies (ae4afd4)
- builds: overkill async checks w/ multiple builds working in parallel (aec9e96)
- build: re-run module map on every change (4c14c39)
- cache: ensure cache dir exists before removing (58c5a9a), closes #876
- client: fix possibility of document.body not being available yet (0f1393e)
- css-shim: CSS_URL_REGEXP check relative to root paths (77a9b5f)
- dev-server: fix img reloading (0d39f7b)
- hmr: always init host snapshot (da7f961)
- hmr: ensure shadowRoot not already added (25efff6)
- hmr: reload page when app adds or deletes scripts (6352ead)
- hmr: update components when imported files change (954618a)
- props: ensure mode value set to host element is not deleted (0671ea1)
- serve: fix serve config from cli (9ed7ae3)
- scoped-css: descendant selectors (9e7fffb)
- styles: fix race condition w/ multiple modes for same component (50307bd)
- styles: update scoped styles on dev server reload (607b93e)
- styles: use default style if host elm mode set, but no mode style set (c0cf468)
- sys.node: do not reset __dirname during bundling (3c953c5)
- watch: close fs watcher on exit (9ae0268)
- watch: fix rebuild on config file change (0d30b57), closes #829
- watch: refactor fs watch, rebuilds w/ parallel builds (e855e4f)
- worker: imporove worker on windows (32746ca)
🏙 0.9.11 (2018-06-21)
- build: fix file renaming/deleting during watch builds (e5aa212), closes #754
- minify: ensure es5 chunks are minified (4f3eecd), closes #794
- slot: only update shadowRoot for host elm patch (2fddcbd)
- ssr: do not leave worker processes hanging during ssr (bfe666b), closes #856
- build: move es5 transpile to workers (dc6c986)
- cache: improve build times w/ consistent cache dir between releases (82373cc)
🐼 0.9.10 (2018-06-20)
- cssvars: implement scoped css var shim (f6e75cf)
- cssvars: non-scoped components are global scoped (d8d6176)
- types: remove value from jsx tyles for select elements. (020dda0)
🐍 0.9.9 (2018-06-19)
- collection: set paths relative to collection manifest json (bcf4a29)
- service-worker: finish prerender first, then run service workers (787a9be)
- stats: stats should build when defined as an output target. (cf506c5)
- transpile: do not isolate modules in ts service (2b71d15)
- watch: recover from errors from initial build (8a42cf1)
⛴ 0.9.8 (2018-06-19)
- build: improve parallelization and caching (a7f4768)
- transpile: cache transpiled files (c7050ee)
- typescript: improve typescript build times (b6b7eb3)
- attributes: properly remove unknown html attributes on standard html elements (75836c5)
- build: reset typescript service cache on config change (008a0a7)
- dev-inspector: correct dev server source to use nodeName instead of tagName. (45ed330)
- dist: wait on validate types build to finish for dist builds (b46e9a7)
- polyfill: ensure custom element polyfill does not run more than once (13192d4)
- service-worker: insert build timestamp for index cache busting ([3008db7]
🍺 0.9.7 (2018-05-31)
- jsx: add "key" jsx attribute (e92e490)
- jsx: set key property and reorder existing elements (0b6d19d)
- shadow-dom: only run initHostSnapshot once (4de6a50)
- shadow-dom: immediately attachShadow when component connected (9ecce82)
🐓 0.9.6 (2018-05-30)
- bundle: handle empty bundles (f2f616f)
- cache: do not cache global script bundles (8ca27f6)
- componentOnReady: fix HostElement types (ad77e14)
- componentOnReady: null only for HTMLElement (e2acba6)
- docs: pass non standard property type values to docs (1e8ec78)
- types: componentOnReady() does not accept a callback (894c89e)
- ssr: add component meta to global registry before any components are defined for the browser. (06af32a)
- reporting: make file paths clickable to line/char in error messages (2654a0e)
- compiler: use Set over Array (30295f1)
- worker-farm: init forking child processes to speed up builds (5fa1b53)
🏝 0.9.5 (2018-05-24)
🦀 0.9.4 (2018-05-23)
- define: do not allow multiple cmps w/ same tag to be defined (4665e04)
- esm: fix HTMLElement componentOnReady fn (88fb519)
🏓 0.9.3 (2018-05-22)
- app: allow multiple apps to work w/ componentOnReady() (162ad68)
- cli: throw an error if passed an invalid config file arg (deef15f)
- build: keep gitkeep files when emptying a directory (375e9c2)
- loader: allow using an explicit resources url setting (383db85)
🌳 0.9.2 (2018-05-21)
- slot: fix slot order when using an array at the root (9a36b0c)
🍁 0.9.1 (2018-05-16)
- compiler: gather metadata from TS files (#808) (578fd93)
- reflectToAttr: set boolean attributes w/out true/false attr values (657e61a)
🚌 0.9.0 (2018-05-16)
- esm: generate dist/esm distribution for external bundlers (fed958d)
🎡 0.8.2 (2018-05-10)
🚕 0.8.1 (2018-05-09)
- bundler: minify dynamic imports (1ef8e91), closes #773
- host: set host prop are properly casted (64ee27a)
- loader: set crossorigin to use-credentials (351fd73)
- add custom element target output. (8bec1d4)
- component: add functional component utilities to update child attributes (8730333)
🐅 0.8.0 (2018-04-30)
- bundler: using es2017 in esm mode (7e80772)
- bundler: support for dynamic import (d68d5c1)
- bundler: expose Rollup node-resolve plugin configuration (a7a2c6e)
- polyfill: add Object.entries to polyfills (fcc649f)
- global: bundle global script goes first (0b9fdd4)
- karma: make
npm run dev
work on Windows (097799f) - lifecycle: ensure child components have connected before lifecycle checks (5a1377f), closes #747
- prop: prop type metadata (2b638e0)
- props: do not auto force prop types on objects (6b94bf6)
- props: do not force a type when using mixed union types (3bf75f7)
- props: force string types toString (9e6f66a)
- polyfill: change promise polyfill from a UMD to a simple global polyfill. (ffcbb14)
- polyfill: fix ie promise polyfill (723b76d)
- shadowDom: fix render() returning array to update shadowRoot (af87219), closes #727
- slot: conditionally render slot and fallback slot content (294c559), closes #721
- slot: fix conditional slot reordering (6489f8e)
- slot: fix first child slot in child component w/ array slots (f0ac435)
- tag: fix legacy module lookups when using tags with numbers (e918f48), closes #753
- slot: fix slot reordering (7af3c6c)
- slot: move slot content to original location before removing (7ef8afe)
- slot: fix slot reordering on async update (39d1afe)
- slot: relocate slot content at component root (f1598fd)
👻 0.7.26 (2018-04-23)
- angular: methods proxy (d014206)
- style: Support multiple base64 variables (5458790)
- styles: prevent stackoverflow when shimming base64 css vars (089636b), closes #749
- windows: use npx for build scripts (d67dcdb)
- test: adds auxiliar test utils (093c425)
🎬 0.7.25 (2018-04-18)
- ssr: add server initApp() for express middleware (89485c8)
- watch: emit error when watching to invalid prop (18f03a0)
🍣 0.7.24 (2018-04-13)
- queue: ensure all queued callbacks run (e251802)
☀️ 0.7.23 (2018-04-13)
- css-shim: fix relative paths (67edcbd)
- allow collection packages to use package.json 'module' to export esmodules. (8aee1f0)
⛷ 0.7.22 (2018-04-12)
- angular: output decorator (494fb18)
- prerender: pass property data down to child components (35c0911)
⚾️ 0.7.21 (2018-04-12)
- angular: emit exact types (2164ad3)
- css-shim: Fix css-shim when base64 uri value is used (84a1348), closes #393
- svg: remove svg attribute when undefined (5a3c632), closes #720
- test: correct tsconfig for karma tests. (568c82d)
🍭 0.7.20 (2018-04-10)
- declarations: fix dialog type interface (9e7da78)
- test: fix accessing TestWindow properties (1dabe1f)
- test: update to TestWindow (aa41953)
- test: TestWindow types subclass Window (a7feecc)
- autoprefix: built-in css autoprefixing (e141e8a)
💾 0.7.19 (2018-04-09)
- props: dash-case attributes to props (0bf1796), closes #697
- props: static type analysis for props (b6e7863)
- test: use TestWindow for Listen testing (3279676), closes #572
- testing: fix event emitter for test suite (d388430), closes #601
- tests: path is not correct on windows (#701) (f7acae4)
The test suite now comes with a TestWindow
class, with the ultimate goal of better simulating a standardized browser environment built on top of window
and document
. Using a TestWindow
instance allows tests to stay compartmentalized, and not require global objects which get reused (which is not ideal for testing). Instead, each test creates a new instance of window
, and by doing so lets each test to not affect others.
The test suite has been refactored to now use TestWindow
instead of render
and flush
. Existing tests will continue to work, but warnings will be printed to use TestWindow
instead. Here are a few examples.
import { render, flush } from '@stencil/core/testing';
import { MyComponent } from './my-component';
it('should be the old way', async () => {
const element = await render({
components: [MyComponent],
html: '<my-cmp first="Marty" last-name="McFly"></my-cmp>'
});
expect(element.textContent).toEqual('Hello, my name is Marty McFly');
element.first = 'George';
await flush(element);
expect(element.textContent).toEqual('Hello, my name is George McFly');
});
import { TestWindow } from '@stencil/core/testing';
import { MyComponent } from './my-component';
it('should be the new way', async () => {
const window = new TestWindow();
const element = await window.load({
components: [MyComponent],
html: '<my-cmp first="Marty" last-name="McFly"></my-cmp>'
});
expect(element.textContent).toEqual('Hello, my name is Marty McFly');
element.first = 'George';
await window.flush();
expect(element.textContent).toEqual('Hello, my name is George McFly');
});
🍹 0.7.18 (2018-04-06)
- angular: outputs must be proxied (e5647ac)
🍸 0.7.17 (2018-04-06)
- angular: method proxy (e06a37d)
- angular: proxy methods (5e93ecb)
- bundle: also resolve paths of relative source files not in memory (9991d1e)
🏌 0.7.16 (2018-04-05)
🚢 0.7.15 (2018-04-05)
- slot: load host content on every render (79fbf50)
- theme: ensure elm.mode is always set (33dd711)
- types: property possibly undefined (18bac2a)
😛 0.7.14 (2018-04-04)
- slot: alway include slot (803cfa3)
⛱ 0.7.13 (2018-04-04)
- docs: only output readme docs w/ --docs flag (0aad8e7), closes #690
- svg: update css class on svg element (260b538)
- test: add esModuleInterop so that tests will have proper interop with commonjs modules. (8520059)
- docs: add usage markdown to docs json output (7d811f1)
- host: apply static Component host data to host element (00b6af6), closes #562
- add commonjs config option that will allow additonal configuration of rollup like namedExports. (d807ea1)
😋 0.7.12 (2018-04-02)
- angular: emit all props (dc5ac70)
🔦 0.7.11 (2018-04-02)
- build: separate cached build conditionals (bc7873e), closes #676
- cli: override previous flags in cli args (da14e81)
- render: fix vnode key comparison (6f380da)
- render: update parent host content from child changed element render (6fe6a6e), closes #679
- angular: directivesArrayFile (ca11e0a)
- build: exclude slot polyfill for shadow-only, or not slot components (191d90a)
- docs: cli flag for json docs (7b9cedd)
- props: warn when using standardized props/methods (e6ff67c), closes #309
- typescript: update to TypeScript 2.8.1 (c98c7ce)
🐚 0.7.10 (2018-03-28)
- componentOnReady: set host element as resolve value (dcfdf06)
🎷 0.7.9 (2018-03-28)
- refactor: add
componentOnReady()
to prototype immediately (57d14c7)
👽 0.7.8 (2018-03-26)
🍒 0.7.7 (2018-03-23)
- events: reduce restrictions on public member names that are similar to event names (ef1b2e7)
- types: add methods to components.d.ts file and remove localized dependency on components (#654) (ef304ea)
🎺 0.7.6 (2018-03-22)
Listeners can now be added to specific elements within JSX. #323
For example, if a component emits the event ionChange
, then the JSX attribute onIonChange
can be added, such as:
<ion-input onIonChange={(ev) => this.someMethod(ev)}/>
This matches how listeners are added for standard events. For example, to listen to a button's click
event, the JSX attribute would be onClick
.
- build: avoid Object.entries (breaks Node 6) (b39b2b9)
- events: keep event names case-sensitive (bb09964)
- loader: more-specific "customElements" polyfill check (f4823f7), closes #648
- render: fix functional components patch when children aren't rendered (3747dcd), closes #649
- styles: escape unicode chars & octal literals in css (f1af0bc), closes #656
- types: dash based event names should appear within quotes in the components.d.ts file. (dafd02d)
🐬 0.7.5 (2018-03-20)
- css: update the CSS variable regexp for pseudo-classes (97c35ce), closes #603
- add event listeners and custom events types to components.d.ts (#644) (4644d91)
🏵 0.7.4 (2018-03-20)
- build: reuse build conditionals from last build for non-typescript changes (8127829), closes #636
- prop: fix prop decorator parsing (857d81c)
🏆 0.7.3 (2018-03-20)
🚔 0.7.2 (2018-03-19)
- canonical-link: update
<link rel="canonical">
using existing href value (0abcfbe) - prerender: merge prerender diagnostics with build output (bc6c638)
- render: check if functional component on update element (007b188)
- render: fix functional components returning null (10a3777), closes #610
- whenDefined: customElements.whenDefined() polyfill before the full polyfill (8d92cc1)
🏐 0.7.1 (2018-03-17)
- crossorigin: support crossorigin for dynamic import (037839f)
- es5: fix observedAttributes in es5 build (7c93e85), closes #623
- prerender: fix custom indexHtml build (7768864), closes #563
- styles: escape unicode characters in css (b32d9da), closes #545
🍬 0.7.0 (2018-03-16)
- build: allow for multiple build target configurations (#582) (a05dc00)
- config: allow for multiple output target configurations (c808dee)
- docs: write docs to multiple locations (24fe78d)
- inspector: add devInspector for improved debugging (034f0a9)
- prerender: add baseUrl outputTarget config (6d08a70)
- prerender: do not write empty attrs which are safe to remove (18e7e2c)
- types: add image decode attribute to JSX definition (#596) (fbda0c8)
- build: do not ignore watch flag (982de3e)
- config: convert serviceWorker and prerender config to outputTargets (148c41e)
- css-shim: improve tests for requiring css shim (4a2a480), closes #603
- host-config: add baseUrl to host.config.json output (da52e02)
- outputTargets: fix collection targets (797f1b4)
- polyfills: makes polyfills writable properties (b439cad), closes #606
- prerender: fix inlined loader script with baseUrl confg (7907b94)
- prerender: fix urls w/ same as baseUrl but no trailing slash (26bf09f)
- prerender: update local prerender server w/ baseUrl (f37d9d5)
- prerender: update prerender config defaults (19b27e4)
- resourcePath: improve loader script resource path (58f9e99)
- service-worker: add registry.json, host config and global js to globIgnore (8e3f616)
- service-worker: adjust sw.js w/ baseUrl (eae035b)
- service-worker: do not build service worker in dev builds (72e2997)
- service-worker: unregister sw when in dev mode (7ea4307)
- svg: build svg render into core w/ imports (1b3904d), closes #607
- sw: fix service worker config validation (cdf890e)
- tag: fix dash case conversion for tags with digits (af12eb4), closes #599
- test: normalize path for windows (5e3fbc0)
- types: adds forceUpdate() (3640715)
🗻 0.6.18 (2018-03-05)
0.6.17 (2018-03-03)
- sw: update sw unregistration (9864159)
- App: expose addEventListener to app global so external libs can override (ed99d45)
- App: expose raf to app global so external libs can override raf (0fb14a3)
- Build: user-land Build conditions (c855353)
- events: dispatch "appinit" and "appload" events on window (639626b)
0.6.16 (2018-03-01)
0.6.15 (2018-03-01)
- prerender: improve inline loader script (cf72640)
- file hash: init asset file versioning (65c5783)
- minify: minify inline styles and scripts (286bf7d)
- render: microtask resolve all tasks until app loaded (c9aee2b)
0.6.14 (2018-02-28)
- collection: add bundle data to collection manifest for prop connect tags (6ba0150)
- watcher: do not create more than one watcher (0df1dff)
0.6.13 (2018-02-28)
0.6.10 to 0.6.13: Fix collection JSX types for redistribution.
- types: export lifecycle method interfaces for collections (ef1875f)
- types: add JSX types to injected stencil core dts (53bb4d1)
- types: remove global JSX Elements that should be provided by the host application. (4d151cc)
0.6.9 (2018-02-27)
- bundling: update to rollup 0.56.3 (3904bd1)
- collection: ship stencil/core interfaces w/ collections (d462b7f)
- exports: update renderer exports and refactor renderer location (40faa65), closes #574
- transpile: implement directoryExists for compiler-host (ebccbc1)
0.6.8 (2018-02-25)
- css: use default css if sass plugin not installed (a61dc3b)
- types: import to missing dist/core folder after build process (fb554c9)
For external collections that provide both CSS and Sass files, such as Ionic, if the Stencil project does not have the @stencil/sass plugin installed then it'll default to using the collection's CSS build. If project does have the sass plugin installed then it'll rebuild the external collection's sass files at compile time. This allows projects to override a collection's default Sass variables using the plugin's injectGlobalPaths
option. Please see the @stencil/sass options for more information.
0.6.7 (2018-02-23)
- collection: copy all src root level d.ts to dist/types directory for distribution (9fcad83)
- collection: remove side effect collection imports from JS output (64b03d0)
- types: gather collect types during ts typechecking (03349be)
- collections: use node module resolution for collection dependencies (0dd621c)
0.6.6 (2018-02-22)
- ref: execute ref on vnode items that get added during update. (b192def)
- ref: move callNodeRefs check to only occur on rerender not on initial load. (f09a5ee)
- global: always add global script to built context (db594bd)
- types: remove deprecated collection imports (6103fef)
0.6.5 (2018-02-20)
- optimizeHtml: default to optimize html when prerendering disabled (d2def84)
0.6.4 (2018-02-20)
- loader: force es5 builds for file:// protocol (851fcec), closes #517
- package: move rollup-pluginutils to an external for the rollup build. (90b295b)
0.6.3 (2018-02-19)
- remove isBuildSvg from prop test in render. (913d4d1)
0.6.2 (2018-02-19)
- collection: remove collection loader from global scripts (a70476e)
- json: add rollup pluginutils to json plugin so that we can ignore commonjs proxy files. (b148239)
- prerender: handle anchor href values that contain quotes (3f87e1d), closes #552
- slot: component provided default slot content (59ff359), closes #171
0.6.1 (2018-02-19)
0.6.0 (2018-02-16)
- collections: import collections through es module imports (9015569)
- sass: move sass to external plugin, @stencil/sass (371c44c), closes #490
The config.collections
config has been deprecated in favor of standard ES module imports. Instead of listing collections within stencil.config.js
, collections should now be imported by the app's root component. The benefit of this is to not only simplify the config by using a standards approach for imports, but to also automatically import the collection's types to improve development. If you are using any collections, such as @ionic/core
, please remove the config.collections
property entirely from stencil.config.js
. Next, to include the collection and its types in the project, add the import to your root component. For example:
import '@ionic/core';
Previously Sass was embedded within @stencil/core
, and styles with a scss extension were automatically precompiled to CSS. In order to better support all external projects, the plugin system is now apart of the compiler's public API and config. With this update, Sass has been moved out of core and into its own plugin, @stencil/sass. Additionally, this enables other external projects, such as @stencil/postcss. If you are currently using Sass, please run the following:
npm run @stencil/sass --save-dev
And within stencil.config.js
, add the plugins config property. For example:
const sass = require('@stencil/sass');
exports.config = {
plugins: [
sass()
]
};
(Also note that adding Stylus and Less plugins are on our roadmap.)
- config: fix rebuilds from config updates (1f46a92)
0.5.2 (2018-02-15)
- bundle: use in-memory fs cache for local resolution (d78bcc4)
0.5.1 (2018-02-14)
- bundling: add json resolution plugin for rollup to stencil. (39dcfc6)
- entries: limit component references to call expressions and html (7991017), closes #532
- node-dom: fix errors when dom.window already closed (065ed4e)
0.5.0 (2018-02-13)
- entries: ensure dependency data from collections remains (f9fb09a)
- entries: use all strings for component reference graph (6629aa1)
- publicPath: allow for custom public path (19095e7), closes #464
- transpile: remove unneded remove-imports transform because it is causing issues with wildcard imports. fixes #526 (256e70a)