diff --git a/.babelrc b/.babelrc index 808edb3a5f..0672bb2444 100644 --- a/.babelrc +++ b/.babelrc @@ -1,10 +1,6 @@ { - "stage": 1, - "highlightCode": true, - "optional": ["es7.objectRestSpread", "es7.classProperties"], - "env": { - "production": { - "optional": ["optimisation"] - } - } + "presets": ["es2015"], + "plugins": ["transform-object-rest-spread", "transform-export-extensions", + "transform-class-properties", "babel-plugin-default-import-checker"], + "highlightCode": true } diff --git a/package.json b/package.json index 89d5f38ee3..96234f1126 100644 --- a/package.json +++ b/package.json @@ -20,19 +20,24 @@ "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "MIT", "dependencies": { - "home-assistant-js": "git+https://github.com/balloob/home-assistant-js.git#692a36d63523a980d64088ccf52f63d44e9f1602", + "home-assistant-js": "git+https://github.com/balloob/home-assistant-js.git#b35fb90c94c1dfbb45c9691e9789f0b84b949d94", "lodash": "^3.10.1", "moment": "^2.10.6" }, "devDependencies": { - "babel-core": "^5.8.29", - "babel-eslint": "^4.1.5", - "babel-loader": "^5.3.2", + "babel-core": "^6.3", + "babel-eslint": "^5.0.0-beta6", + "babel-loader": "^6.2", + "babel-plugin-default-import-checker": "^1.0.8", + "babel-plugin-transform-class-properties": "^6.3.13", + "babel-plugin-transform-export-extensions": "^6.3.13", + "babel-plugin-transform-object-rest-spread": "^6.3.13", + "babel-preset-es2015": "^6.0.0", "bower": "^1.6.5", - "eslint": "^1.9", - "eslint-config-airbnb": "^1.0.0", + "eslint": "^1.10.3", + "eslint-config-airbnb": "^0.1.0", "html-minifier": "^1.0.0", "vulcanize": "^1.14.0", - "webpack": "^1.12.2" + "webpack": "^1.12" } } diff --git a/src/cards/ha-domain-card.js b/src/cards/ha-domain-card.js index 40226da0f1..671ddd306f 100644 --- a/src/cards/ha-domain-card.js +++ b/src/cards/ha-domain-card.js @@ -1,11 +1,13 @@ import Polymer from '../polymer'; -import { moreInfoActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import canToggle from '../util/can-toggle'; require('../components/ha-card'); require('../components/entity/ha-entity-toggle'); require('../state-summary/state-card-content'); +const { moreInfoActions } = hass; + export default new Polymer({ is: 'ha-domain-card', @@ -36,7 +38,7 @@ export default new Polymer({ }, showGroupToggle(groupEntity, states) { - if (!groupEntity || groupEntity.state !== 'on' && groupEntity.state !== 'off') { + if (!groupEntity || !states || groupEntity.state !== 'on' && groupEntity.state !== 'off') { return false; } diff --git a/src/components/entity-list.js b/src/components/entity-list.js index 85a59532a7..5286e875f7 100644 --- a/src/components/entity-list.js +++ b/src/components/entity-list.js @@ -1,8 +1,10 @@ -import { entityGetters } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; +const { entityGetters } = hass; + export default new Polymer({ is: 'entity-list', diff --git a/src/components/entity/ha-entity-marker.js b/src/components/entity/ha-entity-marker.js index cc1f7dc701..82440cc73e 100644 --- a/src/components/entity/ha-entity-marker.js +++ b/src/components/entity/ha-entity-marker.js @@ -1,11 +1,13 @@ import Polymer from '../../polymer'; -import { +import hass from '../../util/home-assistant-js-instance'; + +require('../../components/ha-label-badge'); + +const { reactor, entityGetters, moreInfoActions, -} from '../../util/home-assistant-js-instance'; - -require('../../components/ha-label-badge'); +} = hass; export default new Polymer({ is: 'ha-entity-marker', diff --git a/src/components/entity/ha-entity-toggle.js b/src/components/entity/ha-entity-toggle.js index 89cabab9b4..0edb3841ee 100644 --- a/src/components/entity/ha-entity-toggle.js +++ b/src/components/entity/ha-entity-toggle.js @@ -1,7 +1,9 @@ -import { serviceActions } from '../../util/home-assistant-js-instance'; +import hass from '../../util/home-assistant-js-instance'; import Polymer from '../../polymer'; +const { serviceActions } = hass; + export default new Polymer({ is: 'ha-entity-toggle', diff --git a/src/components/entity/ha-state-label-badge.js b/src/components/entity/ha-state-label-badge.js index 7eff163117..ba22bd1c40 100644 --- a/src/components/entity/ha-state-label-badge.js +++ b/src/components/entity/ha-state-label-badge.js @@ -1,13 +1,15 @@ import Polymer from '../../polymer'; -import { - moreInfoActions, - serviceActions, -} from '../../util/home-assistant-js-instance'; +import hass from '../../util/home-assistant-js-instance'; import domainIcon from '../../util/domain-icon'; import canToggle from '../../util/can-toggle'; require('../../components/ha-label-badge'); +const { + moreInfoActions, + serviceActions, +} = hass; + export default new Polymer({ is: 'ha-state-label-badge', diff --git a/src/components/events-list.js b/src/components/events-list.js index 022df0422d..79e74c65ac 100644 --- a/src/components/events-list.js +++ b/src/components/events-list.js @@ -1,8 +1,10 @@ -import { eventGetters } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; +const { eventGetters } = hass; + export default new Polymer({ is: 'events-list', diff --git a/src/components/ha-sidebar.js b/src/components/ha-sidebar.js index 3a4ae05865..4b68cbe34d 100644 --- a/src/components/ha-sidebar.js +++ b/src/components/ha-sidebar.js @@ -1,15 +1,17 @@ -import { - configGetters, - navigationGetters, - authActions, - navigationActions, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('./stream-status'); +const { + configGetters, + navigationGetters, + authActions, + navigationActions, +} = hass; + export default new Polymer({ is: 'ha-sidebar', diff --git a/src/components/ha-zone-cards.js b/src/components/ha-zone-cards.js index 1a2fd25cf3..2956ef6d6e 100644 --- a/src/components/ha-zone-cards.js +++ b/src/components/ha-zone-cards.js @@ -1,11 +1,12 @@ import Polymer from '../polymer'; -import { util } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; require('.//ha-demo-badge'); require('../cards/ha-badges-card'); require('../cards/ha-domain-card'); require('../cards/ha-introduction-card'); +const { util } = hass; const PRIORITY = { configurator: -20, group: -10, diff --git a/src/components/logbook-entry.js b/src/components/logbook-entry.js index d6108d7dd6..f681ffdbfe 100644 --- a/src/components/logbook-entry.js +++ b/src/components/logbook-entry.js @@ -1,4 +1,4 @@ -import { moreInfoActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; @@ -6,6 +6,8 @@ require('./domain-icon'); require('./display-time'); require('./relative-ha-datetime'); +const { moreInfoActions } = hass; + export default new Polymer({ is: 'logbook-entry', diff --git a/src/components/relative-ha-datetime.js b/src/components/relative-ha-datetime.js index 307354f3a1..592ede193e 100644 --- a/src/components/relative-ha-datetime.js +++ b/src/components/relative-ha-datetime.js @@ -1,10 +1,10 @@ import moment from 'moment'; -import { util } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; const UPDATE_INTERVAL = 60000; // 60 seconds -const { parseDateTime } = util; +const { util: { parseDateTime } } = hass; export default new Polymer({ is: 'relative-ha-datetime', diff --git a/src/components/services-list.js b/src/components/services-list.js index 080026889e..7870e4dfaa 100644 --- a/src/components/services-list.js +++ b/src/components/services-list.js @@ -1,10 +1,12 @@ -import { serviceGetters } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('./domain-icon'); +const { serviceGetters } = hass; + export default new Polymer({ is: 'services-list', diff --git a/src/components/stream-status.js b/src/components/stream-status.js index efba55205f..d8d76827e6 100644 --- a/src/components/stream-status.js +++ b/src/components/stream-status.js @@ -1,8 +1,10 @@ -import { streamGetters, streamActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; +const { streamGetters, streamActions } = hass; + export default new Polymer({ is: 'stream-status', diff --git a/src/dialogs/ha-voice-command-dialog.js b/src/dialogs/ha-voice-command-dialog.js index ad1c599c08..a86354fbd4 100644 --- a/src/dialogs/ha-voice-command-dialog.js +++ b/src/dialogs/ha-voice-command-dialog.js @@ -1,11 +1,13 @@ -import { - voiceActions, - voiceGetters, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; +const { + voiceActions, + voiceGetters, +} = hass; + export default new Polymer({ is: 'ha-voice-command-dialog', diff --git a/src/dialogs/more-info-dialog.js b/src/dialogs/more-info-dialog.js index 945ec59d18..bdf50646f2 100644 --- a/src/dialogs/more-info-dialog.js +++ b/src/dialogs/more-info-dialog.js @@ -1,10 +1,4 @@ -import { - configGetters, - entityHistoryGetters, - entityHistoryActions, - moreInfoGetters, - moreInfoActions, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; @@ -13,6 +7,14 @@ require('../state-summary/state-card-content'); require('../components/state-history-charts'); require('../more-infos/more-info-content'); +const { + configGetters, + entityHistoryGetters, + entityHistoryActions, + moreInfoGetters, + moreInfoActions, +} = hass; + // if you don't want the history component to show add the domain to this array const DOMAINS_WITH_NO_HISTORY = ['camera', 'configurator', 'scene']; diff --git a/src/home-assistant.js b/src/home-assistant.js index 5d184a79ba..9375837412 100644 --- a/src/home-assistant.js +++ b/src/home-assistant.js @@ -1,12 +1,6 @@ import Polymer from './polymer'; -import { - localStoragePreferences, - navigationActions, - reactor, - startLocalStoragePreferencesSync, - syncGetters, -} from './util/home-assistant-js-instance'; +import hass from './util/home-assistant-js-instance'; import nuclearObserver from './util/bound-nuclear-behavior'; import validateAuth from './util/validate-auth'; @@ -14,6 +8,14 @@ import validateAuth from './util/validate-auth'; require('./layouts/login-form'); require('./layouts/home-assistant-main'); +const { + localStoragePreferences, + navigationActions, + reactor, + startLocalStoragePreferencesSync, + syncGetters, +} = hass; + export default new Polymer({ is: 'home-assistant', diff --git a/src/layouts/home-assistant-main.js b/src/layouts/home-assistant-main.js index e0bcafd0ce..8408cbf967 100644 --- a/src/layouts/home-assistant-main.js +++ b/src/layouts/home-assistant-main.js @@ -1,10 +1,5 @@ import Polymer from '../polymer'; -import { - navigationActions, - navigationGetters, - startUrlSync, - stopUrlSync, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import nuclearObserver from '../util/bound-nuclear-behavior'; @@ -21,6 +16,13 @@ require('../managers/notification-manager'); require('../dialogs/more-info-dialog'); require('../dialogs/ha-voice-command-dialog'); +const { + navigationActions, + navigationGetters, + startUrlSync, + stopUrlSync, +} = hass; + export default new Polymer({ is: 'home-assistant-main', diff --git a/src/layouts/login-form.js b/src/layouts/login-form.js index 539ff4df3c..439dc31d24 100644 --- a/src/layouts/login-form.js +++ b/src/layouts/login-form.js @@ -1,10 +1,12 @@ import Polymer from '../polymer'; -import { authGetters } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import nuclearObserver from '../util/bound-nuclear-behavior'; import validateAuth from '../util/validate-auth'; +const { authGetters } = hass; + export default new Polymer({ is: 'login-form', diff --git a/src/layouts/partial-dev-call-service.js b/src/layouts/partial-dev-call-service.js index 8fdf084969..5b6853f61e 100644 --- a/src/layouts/partial-dev-call-service.js +++ b/src/layouts/partial-dev-call-service.js @@ -1,14 +1,16 @@ -import { - reactor, - serviceActions, - serviceGetters, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; require('./partial-base'); require('../components/services-list'); +const { + reactor, + serviceActions, + serviceGetters, +} = hass; + export default new Polymer({ is: 'partial-dev-call-service', diff --git a/src/layouts/partial-dev-fire-event.js b/src/layouts/partial-dev-fire-event.js index fc2d05dca5..863e1d4923 100644 --- a/src/layouts/partial-dev-fire-event.js +++ b/src/layouts/partial-dev-fire-event.js @@ -1,10 +1,12 @@ -import { eventActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; require('./partial-base'); require('../components/events-list'); +const { eventActions } = hass; + export default new Polymer({ is: 'partial-dev-fire-event', diff --git a/src/layouts/partial-dev-info.js b/src/layouts/partial-dev-info.js index 1ae261e09c..2ca1900e0b 100644 --- a/src/layouts/partial-dev-info.js +++ b/src/layouts/partial-dev-info.js @@ -1,13 +1,15 @@ -import { - configGetters, - errorLogActions, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('./partial-base'); +const { + configGetters, + errorLogActions, +} = hass; + export default new Polymer({ is: 'partial-dev-info', diff --git a/src/layouts/partial-dev-set-state.js b/src/layouts/partial-dev-set-state.js index f7ca1488ee..7bd37f3e6e 100644 --- a/src/layouts/partial-dev-set-state.js +++ b/src/layouts/partial-dev-set-state.js @@ -1,10 +1,12 @@ -import { reactor, entityGetters, entityActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; require('./partial-base'); require('../components/entity-list'); +const { reactor, entityGetters, entityActions } = hass; + export default new Polymer({ is: 'partial-dev-set-state', diff --git a/src/layouts/partial-history.js b/src/layouts/partial-history.js index 7b2b5e7e72..f5681b1cbe 100644 --- a/src/layouts/partial-history.js +++ b/src/layouts/partial-history.js @@ -1,7 +1,4 @@ -import { - entityHistoryGetters, - entityHistoryActions, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; @@ -9,6 +6,11 @@ import nuclearObserver from '../util/bound-nuclear-behavior'; require('./partial-base'); require('../components/state-history-charts'); +const { + entityHistoryGetters, + entityHistoryActions, +} = hass; + export default new Polymer({ is: 'partial-history', diff --git a/src/layouts/partial-logbook.js b/src/layouts/partial-logbook.js index f85588649a..27b0e340a2 100644 --- a/src/layouts/partial-logbook.js +++ b/src/layouts/partial-logbook.js @@ -1,4 +1,4 @@ -import { logbookGetters, logbookActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; @@ -7,6 +7,8 @@ require('./partial-base'); require('../components/ha-logbook'); require('../components/loading-box'); +const { logbookGetters, logbookActions } = hass; + export default new Polymer({ is: 'partial-logbook', diff --git a/src/layouts/partial-map.js b/src/layouts/partial-map.js index 918aee308d..b7e7cabb40 100644 --- a/src/layouts/partial-map.js +++ b/src/layouts/partial-map.js @@ -1,13 +1,15 @@ -import { - configGetters, - entityGetters, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('../components/entity/ha-entity-marker'); +const { + configGetters, + entityGetters, +} = hass; + window.L.Icon.Default.imagePath = '/static/images/leaflet'; export default new Polymer({ diff --git a/src/layouts/partial-zone.js b/src/layouts/partial-zone.js index 737e18f3bf..fc57c1375e 100644 --- a/src/layouts/partial-zone.js +++ b/src/layouts/partial-zone.js @@ -1,4 +1,12 @@ -import { +import hass from '../util/home-assistant-js-instance'; + +import Polymer from '../polymer'; +import nuclearObserver from '../util/bound-nuclear-behavior'; + +require('./partial-base'); +require('../components/ha-zone-cards'); + +const { configGetters, entityGetters, voiceGetters, @@ -6,13 +14,7 @@ import { syncGetters, syncActions, voiceActions, -} from '../util/home-assistant-js-instance'; - -import Polymer from '../polymer'; -import nuclearObserver from '../util/bound-nuclear-behavior'; - -require('./partial-base'); -require('../components/ha-zone-cards'); +} = hass; export default new Polymer({ is: 'partial-zone', @@ -67,6 +69,7 @@ export default new Polymer({ columns: { type: Number, + value: 1, }, }, diff --git a/src/managers/notification-manager.js b/src/managers/notification-manager.js index 30636315e0..97da5ff8ba 100644 --- a/src/managers/notification-manager.js +++ b/src/managers/notification-manager.js @@ -1,8 +1,10 @@ -import { notificationGetters } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; +const { notificationGetters } = hass; + export default new Polymer({ is: 'notification-manager', diff --git a/src/more-infos/more-info-alarm_control_panel.js b/src/more-infos/more-info-alarm_control_panel.js index 4476856f51..f60a85c1f7 100644 --- a/src/more-infos/more-info-alarm_control_panel.js +++ b/src/more-infos/more-info-alarm_control_panel.js @@ -1,7 +1,9 @@ -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; +const { serviceActions } = hass; + export default new Polymer({ is: 'more-info-alarm_control_panel', handleDisarmTap() { diff --git a/src/more-infos/more-info-configurator.js b/src/more-infos/more-info-configurator.js index ae26ace2c8..3ae61594b1 100644 --- a/src/more-infos/more-info-configurator.js +++ b/src/more-infos/more-info-configurator.js @@ -1,14 +1,16 @@ -import { - streamGetters, - syncActions, - serviceActions, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('../components/loading-box'); +const { + streamGetters, + syncActions, + serviceActions, +} = hass; + export default new Polymer({ is: 'more-info-configurator', diff --git a/src/more-infos/more-info-group.js b/src/more-infos/more-info-group.js index 853a996c71..e484d351b2 100644 --- a/src/more-infos/more-info-group.js +++ b/src/more-infos/more-info-group.js @@ -1,13 +1,15 @@ -import { - entityGetters, - moreInfoGetters, -} from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import nuclearObserver from '../util/bound-nuclear-behavior'; require('../state-summary/state-card-content'); +const { + entityGetters, + moreInfoGetters, +} = hass; + export default new Polymer({ is: 'more-info-group', diff --git a/src/more-infos/more-info-light.js b/src/more-infos/more-info-light.js index bf8b8c63ab..bed13985b6 100644 --- a/src/more-infos/more-info-light.js +++ b/src/more-infos/more-info-light.js @@ -1,10 +1,11 @@ -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import attributeClassNames from '../util/attribute-class-names'; require('../components/ha-color-picker'); +const { serviceActions } = hass; const ATTRIBUTE_CLASSES = ['brightness', 'rgb_color', 'color_temp']; export default new Polymer({ diff --git a/src/more-infos/more-info-media_player.js b/src/more-infos/more-info-media_player.js index f7abd86028..6889bbb984 100644 --- a/src/more-infos/more-info-media_player.js +++ b/src/more-infos/more-info-media_player.js @@ -1,8 +1,9 @@ -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import attributeClassNames from '../util/attribute-class-names'; +const { serviceActions } = hass; const ATTRIBUTE_CLASSES = ['volume_level']; export default new Polymer({ diff --git a/src/more-infos/more-info-sun.js b/src/more-infos/more-info-sun.js index b733d3c107..1fa165ae0c 100644 --- a/src/more-infos/more-info-sun.js +++ b/src/more-infos/more-info-sun.js @@ -1,9 +1,9 @@ import Polymer from '../polymer'; -import { util } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import formatTime from '../util/format-time'; -const { parseDateTime } = util; +const { util: { parseDateTime } } = hass; export default new Polymer({ is: 'more-info-sun', diff --git a/src/more-infos/more-info-thermostat.js b/src/more-infos/more-info-thermostat.js index 3a186e6071..8adf907333 100644 --- a/src/more-infos/more-info-thermostat.js +++ b/src/more-infos/more-info-thermostat.js @@ -1,8 +1,9 @@ -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; import attributeClassNames from '../util/attribute-class-names'; +const { serviceActions } = hass; const ATTRIBUTE_CLASSES = ['away_mode']; export default new Polymer({ diff --git a/src/state-summary/state-card-rollershutter.js b/src/state-summary/state-card-rollershutter.js index 3a08509e0a..4bc27b1a1d 100644 --- a/src/state-summary/state-card-rollershutter.js +++ b/src/state-summary/state-card-rollershutter.js @@ -1,9 +1,11 @@ -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; require('../components/state-info'); +const { serviceActions } = hass; + export default new Polymer({ is: 'state-card-rollershutter', diff --git a/src/state-summary/state-card-scene.js b/src/state-summary/state-card-scene.js index e872877073..d80a26d1a1 100644 --- a/src/state-summary/state-card-scene.js +++ b/src/state-summary/state-card-scene.js @@ -1,8 +1,10 @@ import Polymer from '../polymer'; -import { serviceActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; require('../components/state-info.js'); +const { serviceActions } = hass; + export default new Polymer({ is: 'state-card-scene', diff --git a/src/state-summary/state-card.js b/src/state-summary/state-card.js index e1f82d33e1..b2254f7035 100644 --- a/src/state-summary/state-card.js +++ b/src/state-summary/state-card.js @@ -1,9 +1,11 @@ -import { moreInfoActions } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; import Polymer from '../polymer'; require('./state-card-content'); +const { moreInfoActions } = hass; + export default new Polymer({ is: 'state-card', diff --git a/src/util/bound-nuclear-behavior.js b/src/util/bound-nuclear-behavior.js index c272df7886..18944ca667 100644 --- a/src/util/bound-nuclear-behavior.js +++ b/src/util/bound-nuclear-behavior.js @@ -1,5 +1,5 @@ -import { reactor } from '../util/home-assistant-js-instance'; +import hass from './home-assistant-js-instance'; import nuclearObserver from './nuclear-behavior'; -export default nuclearObserver(reactor); +export default nuclearObserver(hass.reactor); diff --git a/src/util/can-toggle.js b/src/util/can-toggle.js index aad0f2c403..0346568b74 100644 --- a/src/util/can-toggle.js +++ b/src/util/can-toggle.js @@ -1,7 +1,9 @@ -import { +import hass from './home-assistant-js-instance'; + +const { reactor, serviceGetters, -} from './home-assistant-js-instance'; +} = hass; // Return boolean if entity can be toggled. export default function canToggle(entityId) { diff --git a/src/util/state-icon.js b/src/util/state-icon.js index 80d537a24c..93956aaf6f 100644 --- a/src/util/state-icon.js +++ b/src/util/state-icon.js @@ -1,9 +1,8 @@ import defaultIcon from './default-icon'; import domainIcon from './domain-icon.js'; -import { - util, -} from './home-assistant-js-instance'; +import hass from './home-assistant-js-instance'; +const { util: { temperatureUnits } } = hass; export default function stateIcon(state) { if (!state) { @@ -15,8 +14,8 @@ export default function stateIcon(state) { const unit = state.attributes.unit_of_measurement; if (unit && state.domain === 'sensor') { - if (unit === util.temperatureUnits.UNIT_TEMP_C || - unit === util.temperatureUnits.UNIT_TEMP_F) { + if (unit === temperatureUnits.UNIT_TEMP_C || + unit === temperatureUnits.UNIT_TEMP_F) { return 'mdi:thermometer'; } } diff --git a/src/util/validate-auth.js b/src/util/validate-auth.js index fdcd568b41..710c0b98bb 100644 --- a/src/util/validate-auth.js +++ b/src/util/validate-auth.js @@ -1,4 +1,6 @@ -import { authActions, localStoragePreferences } from '../util/home-assistant-js-instance'; +import hass from '../util/home-assistant-js-instance'; + +const { authActions, localStoragePreferences } = hass; export default function(authToken, rememberAuth) { authActions.validate(authToken, { diff --git a/webpack.config.js b/webpack.config.js index c08e066614..839c1d7b18 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,3 +1,4 @@ +var path = require('path'); var webpack = require("webpack"); var definePlugin = new webpack.DefinePlugin({ @@ -19,7 +20,10 @@ module.exports = { { loader: 'babel-loader', test: /.js$/, - exclude: /node_modules\/(^home-assistant-js)/, + include: [ + path.resolve(__dirname, 'src'), + path.resolve(__dirname, 'node_modules/home-assistant-js/src'), + ], }, ], },