Updated dependencies, fixed build
This commit is contained in:
		
							parent
							
								
									d13a0a50e5
								
							
						
					
					
						commit
						bee49922ad
					
				@ -19,7 +19,7 @@ const ConnectionState = ({connected}: { connected: boolean }) =>
 | 
				
			|||||||
    </span>;
 | 
					    </span>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@observer
 | 
					@observer
 | 
				
			||||||
export default class DeviceView extends React.PureComponent<{ device: SprinklersDevice }, void> {
 | 
					export default class DeviceView extends React.PureComponent<{ device: SprinklersDevice }, {}> {
 | 
				
			||||||
    render() {
 | 
					    render() {
 | 
				
			||||||
        const {id, connected, sections, programs} = this.props.device;
 | 
					        const {id, connected, sections, programs} = this.props.device;
 | 
				
			||||||
        return (
 | 
					        return (
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ import {Input} from "semantic-ui-react";
 | 
				
			|||||||
export default class DurationInput extends React.Component<{
 | 
					export default class DurationInput extends React.Component<{
 | 
				
			||||||
    duration: Duration,
 | 
					    duration: Duration,
 | 
				
			||||||
    onDurationChange?: (newDuration: Duration) => void;
 | 
					    onDurationChange?: (newDuration: Duration) => void;
 | 
				
			||||||
}, void> {
 | 
					}, {}> {
 | 
				
			||||||
    render() {
 | 
					    render() {
 | 
				
			||||||
        const duration = this.props.duration;
 | 
					        const duration = this.props.duration;
 | 
				
			||||||
        // const editing = this.props.onDurationChange != null;
 | 
					        // const editing = this.props.onDurationChange != null;
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ import {UiStore, Message as UiMessage} from "../ui";
 | 
				
			|||||||
import {Message} from "semantic-ui-react";
 | 
					import {Message} from "semantic-ui-react";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@observer
 | 
					@observer
 | 
				
			||||||
export default class MessagesView extends React.PureComponent<{ uiStore: UiStore }, void> {
 | 
					export default class MessagesView extends React.PureComponent<{ uiStore: UiStore }, {}> {
 | 
				
			||||||
    render() {
 | 
					    render() {
 | 
				
			||||||
        return <div>
 | 
					        return <div>
 | 
				
			||||||
            {this.props.uiStore.messages.map(this.renderMessage)}
 | 
					            {this.props.uiStore.messages.map(this.renderMessage)}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ import {Program, Schedule} from "../sprinklers";
 | 
				
			|||||||
import {Table} from "semantic-ui-react";
 | 
					import {Table} from "semantic-ui-react";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@observer
 | 
					@observer
 | 
				
			||||||
export class ScheduleView extends React.PureComponent<{ schedule: Schedule }, void> {
 | 
					export class ScheduleView extends React.PureComponent<{ schedule: Schedule }, {}> {
 | 
				
			||||||
    render() {
 | 
					    render() {
 | 
				
			||||||
        return (
 | 
					        return (
 | 
				
			||||||
            <div>{JSON.stringify(this.props.schedule)}</div>
 | 
					            <div>{JSON.stringify(this.props.schedule)}</div>
 | 
				
			||||||
@ -13,7 +13,7 @@ export class ScheduleView extends React.PureComponent<{ schedule: Schedule }, vo
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@observer
 | 
					@observer
 | 
				
			||||||
export default class ProgramTable extends React.PureComponent<{ programs: Program[] }, void> {
 | 
					export default class ProgramTable extends React.PureComponent<{ programs: Program[] }, {}> {
 | 
				
			||||||
    private static renderRow(program: Program, i: number): JSX.Element[] {
 | 
					    private static renderRow(program: Program, i: number): JSX.Element[] {
 | 
				
			||||||
        if (!program) {
 | 
					        if (!program) {
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ import {Section} from "../sprinklers";
 | 
				
			|||||||
/* tslint:disable:object-literal-sort-keys */
 | 
					/* tslint:disable:object-literal-sort-keys */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@observer
 | 
					@observer
 | 
				
			||||||
export default class SectionTable extends React.PureComponent<{ sections: Section[] }, void> {
 | 
					export default class SectionTable extends React.PureComponent<{ sections: Section[] }, {}> {
 | 
				
			||||||
    private static renderRow(section: Section, index: number) {
 | 
					    private static renderRow(section: Section, index: number) {
 | 
				
			||||||
        if (!section) {
 | 
					        if (!section) {
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,6 @@ import {
 | 
				
			|||||||
    SprinklersDevice, ISprinklersApi, Section, Program, Schedule, ITimeOfDay, Duration, SectionRunner, ISectionRun,
 | 
					    SprinklersDevice, ISprinklersApi, Section, Program, Schedule, ITimeOfDay, Duration, SectionRunner, ISectionRun,
 | 
				
			||||||
} from "./sprinklers";
 | 
					} from "./sprinklers";
 | 
				
			||||||
import {checkedIndexOf} from "./utils";
 | 
					import {checkedIndexOf} from "./utils";
 | 
				
			||||||
import * as Promise from "bluebird";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class MqttApiClient extends EventEmitter implements ISprinklersApi {
 | 
					export class MqttApiClient extends EventEmitter implements ISprinklersApi {
 | 
				
			||||||
    private static newClientId() {
 | 
					    private static newClientId() {
 | 
				
			||||||
@ -167,6 +166,7 @@ class MqttSprinklersDevice extends SprinklersDevice {
 | 
				
			|||||||
        matches = topic.match(/^section_runner$/);
 | 
					        matches = topic.match(/^section_runner$/);
 | 
				
			||||||
        if (matches != null) {
 | 
					        if (matches != null) {
 | 
				
			||||||
            (this.sectionRunner as MqttSectionRunner).onMessage(null, payload);
 | 
					            (this.sectionRunner as MqttSectionRunner).onMessage(null, payload);
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        matches = topic.match(/^responses\/(\d+)$/);
 | 
					        matches = topic.match(/^responses\/(\d+)$/);
 | 
				
			||||||
        if (matches != null) {
 | 
					        if (matches != null) {
 | 
				
			||||||
@ -340,7 +340,11 @@ class MqttSectionRunner extends SectionRunner {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    updateFromJSON(json: ISectionRunnerJSON) {
 | 
					    updateFromJSON(json: ISectionRunnerJSON) {
 | 
				
			||||||
        this.queue.replace(json.queue);
 | 
					        if (!json.queue) { // null means empty queue
 | 
				
			||||||
 | 
					            this.queue.clear();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            this.queue.replace(json.queue);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        this.current = json.current;
 | 
					        this.current = json.current;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -140,7 +140,7 @@ export class SectionRunner {
 | 
				
			|||||||
        this.device = device;
 | 
					        this.device = device;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cancelRunById(id: number): Promise<void> {
 | 
					    cancelRunById(id: number): Promise<{}> {
 | 
				
			||||||
        return this.device.cancelSectionRunById(id);
 | 
					        return this.device.cancelSectionRunById(id);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -166,7 +166,7 @@ export abstract class SprinklersDevice {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    abstract runProgram(program: number | Program): Promise<{}>;
 | 
					    abstract runProgram(program: number | Program): Promise<{}>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    abstract cancelSectionRunById(id: number): Promise<void>;
 | 
					    abstract cancelSectionRunById(id: number): Promise<{}>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    abstract get id(): string;
 | 
					    abstract get id(): string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							@ -22,15 +22,15 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "homepage": "https://github.com/amikhalev/sprinklers3#readme",
 | 
					  "homepage": "https://github.com/amikhalev/sprinklers3#readme",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@types/bluebird": "^3.5.5",
 | 
					 | 
				
			||||||
    "@types/classnames": "^2.2.0",
 | 
					    "@types/classnames": "^2.2.0",
 | 
				
			||||||
    "@types/node": "^7.0.27",
 | 
					    "@types/core-js": "^0.9.42",
 | 
				
			||||||
 | 
					    "@types/node": "^8.0.6",
 | 
				
			||||||
    "@types/object-assign": "^4.0.30",
 | 
					    "@types/object-assign": "^4.0.30",
 | 
				
			||||||
    "@types/react": "^15.0.26",
 | 
					    "@types/react": "^15.0.26",
 | 
				
			||||||
    "@types/react-dom": "^15.5.0",
 | 
					    "@types/react-dom": "^15.5.0",
 | 
				
			||||||
    "@types/react-fontawesome": "^1.5.0",
 | 
					    "@types/react-fontawesome": "^1.5.0",
 | 
				
			||||||
    "bluebird": "^3.5.0",
 | 
					 | 
				
			||||||
    "classnames": "^2.2.5",
 | 
					    "classnames": "^2.2.5",
 | 
				
			||||||
 | 
					    "core-js": "^2.4.1",
 | 
				
			||||||
    "font-awesome": "^4.7.0",
 | 
					    "font-awesome": "^4.7.0",
 | 
				
			||||||
    "mobx": "^3.1.11",
 | 
					    "mobx": "^3.1.11",
 | 
				
			||||||
    "mobx-react": "^4.2.1",
 | 
					    "mobx-react": "^4.2.1",
 | 
				
			||||||
@ -40,7 +40,7 @@
 | 
				
			|||||||
    "react-dom": "^15.5.4",
 | 
					    "react-dom": "^15.5.4",
 | 
				
			||||||
    "react-fontawesome": "^1.6.1",
 | 
					    "react-fontawesome": "^1.6.1",
 | 
				
			||||||
    "semantic-ui-css": "^2.2.10",
 | 
					    "semantic-ui-css": "^2.2.10",
 | 
				
			||||||
    "semantic-ui-react": "^0.68.5",
 | 
					    "semantic-ui-react": "^0.70.0",
 | 
				
			||||||
    "webpack-merge": "^4.1.0"
 | 
					    "webpack-merge": "^4.1.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
@ -56,7 +56,7 @@
 | 
				
			|||||||
    "ts-loader": "^2.1.0",
 | 
					    "ts-loader": "^2.1.0",
 | 
				
			||||||
    "tslint": "^5.4.2",
 | 
					    "tslint": "^5.4.2",
 | 
				
			||||||
    "typescript": "^2.3.4",
 | 
					    "typescript": "^2.3.4",
 | 
				
			||||||
    "webpack": "^2.6.1",
 | 
					    "webpack": "^3.0.0",
 | 
				
			||||||
    "webpack-dev-server": "^2.4.4"
 | 
					    "webpack-dev-server": "^2.4.4"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "false": {}
 | 
					  "false": {}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@
 | 
				
			|||||||
        "jsx": "react",
 | 
					        "jsx": "react",
 | 
				
			||||||
        "experimentalDecorators": true,
 | 
					        "experimentalDecorators": true,
 | 
				
			||||||
        "target": "es5",
 | 
					        "target": "es5",
 | 
				
			||||||
 | 
					        "lib": ["es6", "dom"],
 | 
				
			||||||
        "typeRoots": ["node_modules/@types"]
 | 
					        "typeRoots": ["node_modules/@types"]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "files": [
 | 
					    "files": [
 | 
				
			||||||
@ -11,4 +12,4 @@
 | 
				
			|||||||
        "./app/script/paho-mqtt.d.ts",
 | 
					        "./app/script/paho-mqtt.d.ts",
 | 
				
			||||||
        "./app/script/index.tsx"
 | 
					        "./app/script/index.tsx"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,8 @@ module.exports = {
 | 
				
			|||||||
    module: {
 | 
					    module: {
 | 
				
			||||||
        rules: [
 | 
					        rules: [
 | 
				
			||||||
            { test: /\.css$/, loader: "style-loader!css-loader" },
 | 
					            { test: /\.css$/, loader: "style-loader!css-loader" },
 | 
				
			||||||
            { test: /\.(ttf|eot|svg|woff(2)?|png|jpg)(\?[a-z0-9=&.]+)?$/, loader: "file-loader" }
 | 
					            { test: /\.(ttf|eot|svg|woff(2)?|png|jpg)(\?[a-z0-9=&.]+)?$/, loader: "file-loader" },
 | 
				
			||||||
 | 
					            { test: /\.tsx?$/, loader: "awesome-typescript-loader" },
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    plugins: [
 | 
					    plugins: [
 | 
				
			||||||
 | 
				
			|||||||
@ -7,17 +7,13 @@ module.exports = webpackMerge.smart(base, {
 | 
				
			|||||||
        "react-hot-loader/patch",
 | 
					        "react-hot-loader/patch",
 | 
				
			||||||
        "webpack-dev-server/client?http://localhost:8080",
 | 
					        "webpack-dev-server/client?http://localhost:8080",
 | 
				
			||||||
        "webpack/hot/only-dev-server",
 | 
					        "webpack/hot/only-dev-server",
 | 
				
			||||||
 | 
					        "core-js",
 | 
				
			||||||
        "./app/script/index.tsx"
 | 
					        "./app/script/index.tsx"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    devtool: "inline-source-map",
 | 
					    devtool: "inline-source-map",
 | 
				
			||||||
    module: {
 | 
					 | 
				
			||||||
        rules: [
 | 
					 | 
				
			||||||
            { test: /\.tsx?$/, loaders: ["react-hot-loader/webpack", "awesome-typescript-loader"] },
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    plugins: [
 | 
					    plugins: [
 | 
				
			||||||
        new webpack.NamedModulesPlugin(),
 | 
					        new webpack.NamedModulesPlugin(),
 | 
				
			||||||
        new webpack.HotModuleReplacementPlugin()
 | 
					        // new webpack.HotModuleReplacementPlugin(),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    devServer: {
 | 
					    devServer: {
 | 
				
			||||||
        hot: true
 | 
					        hot: true
 | 
				
			||||||
 | 
				
			|||||||
@ -3,14 +3,10 @@ const base = require("./base.config");
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
module.exports = webpackMerge.smart(base, {
 | 
					module.exports = webpackMerge.smart(base, {
 | 
				
			||||||
    entry: [
 | 
					    entry: [
 | 
				
			||||||
 | 
					        "core-js",
 | 
				
			||||||
        "./app/script/index.tsx"
 | 
					        "./app/script/index.tsx"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    devtool: "none",
 | 
					    devtool: "none",
 | 
				
			||||||
    module: {
 | 
					 | 
				
			||||||
        rules: [
 | 
					 | 
				
			||||||
            { test: /\.tsx?$/, loader: "awesome-typescript-loader" },
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    plugins: [
 | 
					    plugins: [
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user