From b2b2ac17253c849215cdd2c39e2294d2aeb2f4fd Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Sun, 19 Nov 2017 22:34:19 +0100 Subject: [PATCH 01/22] remove unused EventMap class --- .../palidorPixi/support/EventMap.ts | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 test/robotlegs/bender/extensions/palidorPixi/support/EventMap.ts diff --git a/test/robotlegs/bender/extensions/palidorPixi/support/EventMap.ts b/test/robotlegs/bender/extensions/palidorPixi/support/EventMap.ts deleted file mode 100644 index a936aa3..0000000 --- a/test/robotlegs/bender/extensions/palidorPixi/support/EventMap.ts +++ /dev/null @@ -1,52 +0,0 @@ -// ------------------------------------------------------------------------------ -// Copyright (c) 2017 RobotlegsJS. All Rights Reserved. -// -// NOTICE: You are permitted to use, modify, and distribute this file -// in accordance with the terms of the license agreement accompanying it. -// ------------------------------------------------------------------------------ - -import { IEventMap, IEventDispatcher } from "@robotlegsjs/core"; - -export class EventMap implements IEventMap { - constructor() { - this.unmapListener(null, "", null); - this.resume(); - this.suspend(); - this.unmapListeners(); - } - - public mapListener( - dispatcher: IEventDispatcher | EventTarget, - type: string, - listener: Function, - thisObject?: any, - eventClass?: Object, - useCapture?: Boolean, - priority?: number, - useWeakReference?: Boolean - ): void { - /* */ - } - public unmapListener( - dispatcher: IEventDispatcher | EventTarget, - type: string, - listener: Function, - thisObject?: any, - eventClass?: Object, - useCapture?: Boolean - ): void { - /* */ - } - - public unmapListeners(): void { - /* */ - } - - public suspend(): void { - /* */ - } - - public resume(): void { - /* */ - } -} From 86da7374c8581159b76d2abebfce9b8b3ee3976c Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:17:09 +0100 Subject: [PATCH 02/22] use IContextView to get a reference to the stage --- src/index.ts | 6 ---- .../palidorPixi/PalidorPixiExtension.ts | 36 +++++++++++-------- .../palidorPixi/api/IPixiRootContainer.ts | 13 ------- .../impl/PixiContainerContoller.ts | 6 ++-- .../palidorPixi/impl/PixiRootContainer.ts | 24 ------------- 5 files changed, 25 insertions(+), 60 deletions(-) delete mode 100644 src/robotlegs/bender/extensions/palidorPixi/api/IPixiRootContainer.ts delete mode 100644 src/robotlegs/bender/extensions/palidorPixi/impl/PixiRootContainer.ts diff --git a/src/index.ts b/src/index.ts index 4448ae9..728120c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -17,9 +17,6 @@ export { export { IFlowViewMapping } from "./robotlegs/bender/extensions/palidorPixi/api/IFlowViewMapping"; -export { - IPixiRootContainer -} from "./robotlegs/bender/extensions/palidorPixi/api/IPixiRootContainer"; export { PalidorEvent } from "./robotlegs/bender/extensions/palidorPixi/events/PalidorEvent"; @@ -32,9 +29,6 @@ export { export { PixiContainerContoller } from "./robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller"; -export { - PixiRootContainer -} from "./robotlegs/bender/extensions/palidorPixi/impl/PixiRootContainer"; export { PalidorPixiExtension } from "./robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension"; diff --git a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts index 7428def..163994d 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts @@ -7,39 +7,47 @@ import { IContainerController } from "./api/IContainerController"; import { IFlowManager } from "./api/IFlowManager"; -import { IPixiRootContainer } from "./api/IPixiRootContainer"; import { FlowManager } from "./impl/FlowManager"; import { PixiContainerContoller } from "./impl/PixiContainerContoller"; -import { PixiRootContainer } from "./impl/PixiRootContainer"; import { IContext, IExtension, IInjector, + ILogger, instanceOfType } from "@robotlegsjs/core"; +import { IContextView, ContextView } from "@robotlegsjs/pixi"; + export class PalidorPixiExtension implements IExtension { private _injector: IInjector; + private _logger: ILogger; public extend(context: IContext): void { this._injector = context.injector; + this._logger = context.getLogger(this); context.addConfigHandler( - instanceOfType(PixiRootContainer), - this.handlePixiRootContainer.bind(this) + instanceOfType(ContextView), + this.handleContextView.bind(this) ); } - private handlePixiRootContainer(root: PixiRootContainer): void { - this._injector.bind(IPixiRootContainer).toConstantValue(root); - this._injector - .bind(IContainerController) - .to(PixiContainerContoller) - .inSingletonScope(); - this._injector - .bind(IFlowManager) - .to(FlowManager) - .inSingletonScope(); + private handleContextView(contextView: IContextView): void { + if (this._injector.isBound(IContextView)) { + this._injector + .bind(IContainerController) + .to(PixiContainerContoller) + .inSingletonScope(); + this._injector + .bind(IFlowManager) + .to(FlowManager) + .inSingletonScope(); + } else { + this._logger.error( + "A ContextView must be installed if you install the PalidorPixiExtension." + ); + } } } diff --git a/src/robotlegs/bender/extensions/palidorPixi/api/IPixiRootContainer.ts b/src/robotlegs/bender/extensions/palidorPixi/api/IPixiRootContainer.ts deleted file mode 100644 index fccdf4f..0000000 --- a/src/robotlegs/bender/extensions/palidorPixi/api/IPixiRootContainer.ts +++ /dev/null @@ -1,13 +0,0 @@ -// ------------------------------------------------------------------------------ -// Copyright (c) 2017 RobotlegsJS. All Rights Reserved. -// -// NOTICE: You are permitted to use, modify, and distribute this file -// in accordance with the terms of the license agreement accompanying it. -// ------------------------------------------------------------------------------ - -import { Container } from "pixi.js"; - -export let IPixiRootContainer = Symbol("IPixiRootContainer"); -export interface IPixiRootContainer { - getRootContainer(): Container; -} diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts index 3fe9fb8..588b9e8 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts @@ -6,10 +6,10 @@ // ------------------------------------------------------------------------------ import { IContainerController } from "../api/IContainerController"; -import { IPixiRootContainer } from "../api/IPixiRootContainer"; import { Container } from "pixi.js"; import { injectable, inject } from "@robotlegsjs/core"; +import { IContextView, ContextView } from "@robotlegsjs/pixi"; @injectable() export class PixiContainerContoller implements IContainerController { @@ -35,9 +35,9 @@ export class PixiContainerContoller implements IContainerController { return this._floatingViews; } - constructor(@inject(IPixiRootContainer) rootContainer: IPixiRootContainer) { + constructor(@inject(IContextView) contextView: IContextView) { this._floatingViews = new Array(); - this._root = rootContainer.getRootContainer(); + this._root = contextView.view; this.createLayers(); } diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiRootContainer.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiRootContainer.ts deleted file mode 100644 index 8ddaadd..0000000 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiRootContainer.ts +++ /dev/null @@ -1,24 +0,0 @@ -// ------------------------------------------------------------------------------ -// Copyright (c) 2017 RobotlegsJS. All Rights Reserved. -// -// NOTICE: You are permitted to use, modify, and distribute this file -// in accordance with the terms of the license agreement accompanying it. -// ------------------------------------------------------------------------------ - -import { IPixiRootContainer } from "../api/IPixiRootContainer"; - -import { Container } from "pixi.js"; -import { injectable } from "@robotlegsjs/core"; - -@injectable() -export class PixiRootContainer implements IPixiRootContainer { - private _root: Container; - - constructor(root: Container) { - this._root = root; - } - - public getRootContainer(): Container { - return this._root; - } -} From 58f19fd45a228b66c50611f384cb5c66a7560eb8 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:17:31 +0100 Subject: [PATCH 03/22] update unit tests --- .../impl/pixiRootContainer.test.ts | 24 ------------------- .../palidorPixi/palidorPixiExtension.test.ts | 12 +++------- .../extensions/palidorPixi/support/Utils.ts | 8 ++++--- 3 files changed, 8 insertions(+), 36 deletions(-) delete mode 100644 test/robotlegs/bender/extensions/palidorPixi/impl/pixiRootContainer.test.ts diff --git a/test/robotlegs/bender/extensions/palidorPixi/impl/pixiRootContainer.test.ts b/test/robotlegs/bender/extensions/palidorPixi/impl/pixiRootContainer.test.ts deleted file mode 100644 index 7a62c25..0000000 --- a/test/robotlegs/bender/extensions/palidorPixi/impl/pixiRootContainer.test.ts +++ /dev/null @@ -1,24 +0,0 @@ -// ------------------------------------------------------------------------------ -// Copyright (c) 2017 RobotlegsJS. All Rights Reserved. -// -// NOTICE: You are permitted to use, modify, and distribute this file -// in accordance with the terms of the license agreement accompanying it. -// ------------------------------------------------------------------------------ - -import "./../../../../../entry"; - -import { PixiRootContainer } from "./../../../../../../src"; - -import { assert } from "chai"; -import { Container } from "pixi.js"; - -describe("PixiRootContainer", () => { - it("should return the registered container when the method getRootContainer is called", () => { - let container: Container = new Container(); - let pixiContainers: PixiRootContainer = new PixiRootContainer( - container - ); - assert.instanceOf(pixiContainers.getRootContainer(), Container); - assert.equal(pixiContainers.getRootContainer(), container); - }); -}); diff --git a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts index ddcf043..0be8627 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts @@ -9,21 +9,21 @@ import "../../../../entry"; import { IContainerController } from "../../../../../src"; import { IFlowManager } from "../../../../../src"; -import { IPixiRootContainer } from "../../../../../src"; import { PalidorPixiExtension } from "../../../../../src"; -import { PixiRootContainer } from "./../../../../../src"; import { assert } from "chai"; import { Container } from "pixi.js"; import { Context } from "@robotlegsjs/core"; +import { ContextView, PixiBundle } from "@robotlegsjs/pixi"; describe("PalidorPixiExtension", () => { let context: Context; beforeEach(() => { context = new Context(); + context.install(PixiBundle); context.install(PalidorPixiExtension); - context.configure(new PixiRootContainer(new Container())); + context.configure(new ContextView(new Container())); }); afterEach(() => { @@ -45,12 +45,6 @@ describe("PalidorPixiExtension", () => { }); }); - it("PixiRootContainer is mapped into injector", () => { - context.whenInitializing(function(): void { - assert.isDefined(context.injector.get(IPixiRootContainer)); - }); - }); - it("PixiContainerController is mapped into injector", () => { context.whenInitializing(function(): void { assert.isDefined(context.injector.get(IContainerController)); diff --git a/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts b/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts index cc5edf7..9319c39 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts @@ -10,17 +10,18 @@ import { PixiContainerContoller } from "./../../../../../../src"; import { IFlowManager } from "./../../../../../../src"; import { FlowManager } from "../../../../../../src"; import { Container } from "pixi.js"; -import { PixiRootContainer } from "../../../../../../src"; import { PalidorPixiExtension } from "./../../../../../../src"; import { MVCSBundle } from "@robotlegsjs/core"; import { Context } from "@robotlegsjs/core"; +import { ContextView, PixiBundle } from "@robotlegsjs/pixi"; export class Utils { public static getInstanceOfFlowManager(): FlowManager { let context = new Context(); context.install(MVCSBundle); + context.install(PixiBundle); context.install(PalidorPixiExtension); - context.configure(new PixiRootContainer(new Container())); + context.configure(new ContextView(new Container())); return context.injector.get(IFlowManager); } @@ -28,8 +29,9 @@ export class Utils { public static getInstanceOfPixiContainerController(): PixiContainerContoller { let context = new Context(); context.install(MVCSBundle); + context.install(PixiBundle); context.install(PalidorPixiExtension); - context.configure(new PixiRootContainer(new Container())); + context.configure(new ContextView(new Container())); return context.injector.get( IContainerController From fbfe39f136a85dbf79ba0b03029d16c19dfc614d Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:27:30 +0100 Subject: [PATCH 04/22] organize imports --- .../palidorPixi/PalidorPixiExtension.ts | 1 + .../extensions/palidorPixi/impl/FlowManager.ts | 4 +++- .../palidorPixi/impl/FlowViewMapping.ts | 1 + .../palidorPixi/impl/flowManager.test.ts | 14 ++++++++------ .../palidorPixi/impl/flowViewMapping.test.ts | 6 +++--- .../impl/pixiContainerController.test.ts | 4 ++-- .../palidorPixi/palidorPixiExtension.test.ts | 8 +++++--- .../extensions/palidorPixi/support/Utils.ts | 18 +++++++++++------- 8 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts index 163994d..3db6352 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts @@ -7,6 +7,7 @@ import { IContainerController } from "./api/IContainerController"; import { IFlowManager } from "./api/IFlowManager"; + import { FlowManager } from "./impl/FlowManager"; import { PixiContainerContoller } from "./impl/PixiContainerContoller"; diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts index 0224b50..a2a0e22 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts @@ -5,12 +5,14 @@ // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ -import { FlowViewMapping } from "./FlowViewMapping"; import { IContainerController } from "../api/IContainerController"; import { IFlowViewMapping } from "../api/IFlowViewMapping"; import { IFlowManager } from "../api/IFlowManager"; + import { PalidorEvent } from "./../events/PalidorEvent"; +import { FlowViewMapping } from "./FlowViewMapping"; + import { injectable, inject, diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts index ccfa435..1f96168 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts @@ -6,6 +6,7 @@ // ------------------------------------------------------------------------------ import { IFlowViewMapping } from "./../api/IFlowViewMapping"; + import { FlowManager } from "./FlowManager"; export class FlowViewMapping implements IFlowViewMapping { diff --git a/test/robotlegs/bender/extensions/palidorPixi/impl/flowManager.test.ts b/test/robotlegs/bender/extensions/palidorPixi/impl/flowManager.test.ts index 1c7de07..1460f8b 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/impl/flowManager.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/impl/flowManager.test.ts @@ -9,17 +9,19 @@ import "./../../../../../entry"; import sinon = require("sinon"); -import { Utils } from "./../support/Utils"; - -import { IFlowViewMapping } from "./../../../../../../src"; -import { PalidorEvent } from "./../../../../../../src"; -import { FlowManager } from "./../../../../../../src"; -import { FlowViewMapping } from "./../../../../../../src"; +import { + IFlowViewMapping, + PalidorEvent, + FlowManager, + FlowViewMapping +} from "./../../../../../../src"; import { assert } from "chai"; import { Container } from "pixi.js"; import { Context, MVCSBundle } from "@robotlegsjs/core"; +import { Utils } from "./../support/Utils"; + describe("FlowManager", () => { let flowManager: FlowManager; let view: any; diff --git a/test/robotlegs/bender/extensions/palidorPixi/impl/flowViewMapping.test.ts b/test/robotlegs/bender/extensions/palidorPixi/impl/flowViewMapping.test.ts index deb2764..fc18c3a 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/impl/flowViewMapping.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/impl/flowViewMapping.test.ts @@ -9,10 +9,10 @@ import "./../../../../../entry"; import sinon = require("sinon"); import { assert } from "chai"; -import { Utils } from "./../support/Utils"; -import { FlowViewMapping } from "./../../../../../../src"; -import { FlowManager } from "./../../../../../../src"; +import { FlowManager, FlowViewMapping } from "./../../../../../../src"; + +import { Utils } from "./../support/Utils"; describe("FlowViwMapping", () => { let flowManager: FlowManager; diff --git a/test/robotlegs/bender/extensions/palidorPixi/impl/pixiContainerController.test.ts b/test/robotlegs/bender/extensions/palidorPixi/impl/pixiContainerController.test.ts index ab59275..6cf2742 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/impl/pixiContainerController.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/impl/pixiContainerController.test.ts @@ -7,13 +7,13 @@ import "./../../../../../entry"; -import { Utils } from "./../support/Utils"; - import { PixiContainerContoller } from "../../../../../../src"; import { assert } from "chai"; import { Container } from "pixi.js"; +import { Utils } from "./../support/Utils"; + describe("PixiContainerController", () => { let controller: PixiContainerContoller; let view: Container; diff --git a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts index 0be8627..1c2fc25 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts @@ -7,9 +7,11 @@ import "../../../../entry"; -import { IContainerController } from "../../../../../src"; -import { IFlowManager } from "../../../../../src"; -import { PalidorPixiExtension } from "../../../../../src"; +import { + IContainerController, + IFlowManager, + PalidorPixiExtension +} from "../../../../../src"; import { assert } from "chai"; import { Container } from "pixi.js"; diff --git a/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts b/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts index 9319c39..52d452f 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/support/Utils.ts @@ -5,14 +5,18 @@ // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ -import { IContainerController } from "./../../../../../../src"; -import { PixiContainerContoller } from "./../../../../../../src"; -import { IFlowManager } from "./../../../../../../src"; -import { FlowManager } from "../../../../../../src"; +import { + IContainerController, + IFlowManager, + FlowManager, + PixiContainerContoller, + PalidorPixiExtension +} from "./../../../../../../src"; + import { Container } from "pixi.js"; -import { PalidorPixiExtension } from "./../../../../../../src"; -import { MVCSBundle } from "@robotlegsjs/core"; -import { Context } from "@robotlegsjs/core"; + +import { Context, MVCSBundle } from "@robotlegsjs/core"; + import { ContextView, PixiBundle } from "@robotlegsjs/pixi"; export class Utils { From 72acf4341aaa5c07686c0ff398b9a43a2188fdf3 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:44:13 +0100 Subject: [PATCH 05/22] use IClass type for viewClass parameter --- .../palidorPixi/api/IContainerController.ts | 6 ++++-- .../palidorPixi/api/IFlowViewMapping.ts | 8 ++++++-- .../extensions/palidorPixi/impl/FlowManager.ts | 16 +++++++++++----- .../palidorPixi/impl/FlowViewMapping.ts | 8 ++++++-- .../palidorPixi/impl/PixiContainerContoller.ts | 4 ++-- 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/api/IContainerController.ts b/src/robotlegs/bender/extensions/palidorPixi/api/IContainerController.ts index 6ad75fb..7a3c838 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/api/IContainerController.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/api/IContainerController.ts @@ -5,11 +5,13 @@ // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ +import { Container } from "pixi.js"; + export let IContainerController = Symbol("IContainerController"); export interface IContainerController { - addView(view: any): void; + addView(view: Container): void; - changeView(view: any): void; + changeView(view: Container): void; removeCurrentView(): void; diff --git a/src/robotlegs/bender/extensions/palidorPixi/api/IFlowViewMapping.ts b/src/robotlegs/bender/extensions/palidorPixi/api/IFlowViewMapping.ts index 8ab4369..b7d100c 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/api/IFlowViewMapping.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/api/IFlowViewMapping.ts @@ -5,8 +5,12 @@ // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ +import { Container } from "pixi.js"; + +import { IClass } from "@robotlegsjs/core"; + export interface IFlowViewMapping { - toFloatingView(viewClass: any): void; + toFloatingView(viewClass: IClass): void; - toView(viewClass: any): void; + toView(viewClass: IClass): void; } diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts index a2a0e22..6cb45c5 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts @@ -13,9 +13,12 @@ import { PalidorEvent } from "./../events/PalidorEvent"; import { FlowViewMapping } from "./FlowViewMapping"; +import { Container } from "pixi.js"; + import { injectable, inject, + IClass, IEventMap, IEventDispatcher } from "@robotlegsjs/core"; @@ -33,8 +36,8 @@ export class FlowManager implements IFlowManager { return this._dispatcher; } - private _views: Map; - public get views(): Map { + private _views: Map>; + public get views(): Map> { return this._views; } @@ -47,7 +50,7 @@ export class FlowManager implements IFlowManager { this._dispatcher = eventDispatcher; this._controller = controller; - this._views = new Map(); + this._views = new Map>(); this.mapPalidorListeners(); } @@ -59,7 +62,7 @@ export class FlowManager implements IFlowManager { return new FlowViewMapping(event, this); } - public mapView(eventString: string, viewClass: any): void { + public mapView(eventString: string, viewClass: IClass): void { this._views.set(eventString, viewClass); this._eventMap.mapListener( this._dispatcher, @@ -69,7 +72,10 @@ export class FlowManager implements IFlowManager { ); } - public mapFloatingView(eventString: string, viewClass: any): void { + public mapFloatingView( + eventString: string, + viewClass: IClass + ): void { this._views.set(eventString, viewClass); this._eventMap.mapListener( this._dispatcher, diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts index 1f96168..6df4479 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowViewMapping.ts @@ -9,6 +9,10 @@ import { IFlowViewMapping } from "./../api/IFlowViewMapping"; import { FlowManager } from "./FlowManager"; +import { Container } from "pixi.js"; + +import { IClass } from "@robotlegsjs/core"; + export class FlowViewMapping implements IFlowViewMapping { private _event: string; public get event(): string { @@ -24,11 +28,11 @@ export class FlowViewMapping implements IFlowViewMapping { this._flowManager = flowManager; } - public toFloatingView(viewClass: any): void { + public toFloatingView(viewClass: IClass): void { this._flowManager.mapFloatingView(this._event, viewClass); } - public toView(viewClass: any): void { + public toView(viewClass: IClass): void { this._flowManager.mapView(this._event, viewClass); } } diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts index 588b9e8..e1432b1 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts @@ -41,14 +41,14 @@ export class PixiContainerContoller implements IContainerController { this.createLayers(); } - public addView(view: any): void { + public addView(view: Container): void { if (this._floatingViews.indexOf(view) === -1) { this._floatingViews.push(view); this._dynamicLayer.addChild(view); } } - public changeView(view: any): void { + public changeView(view: Container): void { this._currentView = view; this._staticLayer.addChildAt(view, 0); } From 80b174f53f3c1b64f4c9f4ee20900860deb27d91 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:47:53 +0100 Subject: [PATCH 06/22] use proper type notation for arrays --- .../extensions/palidorPixi/impl/PixiContainerContoller.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts index e1432b1..afd8a4a 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/PixiContainerContoller.ts @@ -30,13 +30,13 @@ export class PixiContainerContoller implements IContainerController { return this._currentView; } - private _floatingViews: Array; - public get floatingViews(): Array { + private _floatingViews: Container[]; + public get floatingViews(): Container[] { return this._floatingViews; } constructor(@inject(IContextView) contextView: IContextView) { - this._floatingViews = new Array(); + this._floatingViews = []; this._root = contextView.view; this.createLayers(); } From a093829bcdf01adbe9cad101a93b02c7e333fcf0 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 13:50:44 +0100 Subject: [PATCH 07/22] use propert Event type on event handlers --- .../bender/extensions/palidorPixi/impl/FlowManager.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts index 6cb45c5..fa03272 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/impl/FlowManager.ts @@ -20,7 +20,8 @@ import { inject, IClass, IEventMap, - IEventDispatcher + IEventDispatcher, + Event } from "@robotlegsjs/core"; @injectable() @@ -106,18 +107,18 @@ export class FlowManager implements IFlowManager { ); } - private onChangeView(e: any): void { + private onChangeView(e: Event): void { let clazz = this._views.get(e.type); this._controller.removeCurrentView(); this._controller.changeView(new clazz()); } - private onAddFloatingView(e: any): void { + private onAddFloatingView(e: Event): void { let clazz = this._views.get(e.type); this._controller.addView(new clazz()); } - private onRemoveCurrentView(e: any): void { + private onRemoveCurrentView(e: Event): void { this._controller.removeCurrentView(); } @@ -125,7 +126,7 @@ export class FlowManager implements IFlowManager { this._controller.removeLastFloatingViewAdded(); } - private onRemoveAllFloatingView(e: any): void { + private onRemoveAllFloatingView(e: Event): void { this._controller.removeAllFloatingViews(); } } From 482e4608d5719b4fee755173aedb4a7db04d1988 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:38:52 +0100 Subject: [PATCH 08/22] chore(package): update @robotlegsjs/pixi to version 0.1.1 --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 386f700..b3c9dac 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ }, "homepage": "https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor#readme", "dependencies": { - "@robotlegsjs/pixi": "^0.1.0" + "@robotlegsjs/pixi": "^0.1.1" }, "devDependencies": { "@types/bluebird": "^3.5.17", diff --git a/yarn.lock b/yarn.lock index 4c22aff..a77b67b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,13 +8,13 @@ dependencies: inversify "^4.5.1" -"@robotlegsjs/pixi@^0.1.0": - version "0.1.0" - resolved "https://registry.npmjs.org/@robotlegsjs/pixi/-/pixi-0.1.0.tgz#f7090f3bc58fd37be5e858795e6d7abb48d7a38e" +"@robotlegsjs/pixi@^0.1.1": + version "0.1.1" + resolved "https://registry.npmjs.org/@robotlegsjs/pixi/-/pixi-0.1.1.tgz#155d3a1c02d6522ad00a6ae0acde145c9885d5d5" dependencies: "@robotlegsjs/core" "^0.1.1" eventemitter3 "^2.0.3" - pixi.js "^4.6.0" + pixi.js "^4.6.1" "@types/bluebird@^3.5.17": version "3.5.18" @@ -4183,12 +4183,12 @@ pinkie@^2.0.0: resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" pixi-gl-core@^1.0.3: - version "1.1.2" - resolved "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.2.tgz#b5377f69bc3b3187b9a62430de031fde343e5439" + version "1.1.3" + resolved "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.3.tgz#fef1a6721e4a343dee3f0babf65190620062bfcf" -pixi.js@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/pixi.js/-/pixi.js-4.6.0.tgz#dca9a1c15ad6447a5913b969a0164b89a3d1b888" +pixi.js@^4.6.1: + version "4.6.1" + resolved "https://registry.npmjs.org/pixi.js/-/pixi.js-4.6.1.tgz#8a231f70e529c73bb4c75fbf684b425d7f153a8e" dependencies: bit-twiddle "^1.0.2" earcut "^2.0.7" From d6a46a7f69b66c50dbfb9d935ce542998579c15d Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:40:04 +0100 Subject: [PATCH 09/22] chore(package): update @types/pixi.js to version 4.6.0 --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index b3c9dac..2df8ac7 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@types/bluebird": "^3.5.17", "@types/chai": "^4.0.4", "@types/mocha": "^2.2.44", - "@types/pixi.js": "^4.5.7", + "@types/pixi.js": "^4.6.0", "@types/sinon": "^4.0.0", "bluebird": "^3.5.1", "browserify-versionify": "^1.0.6", diff --git a/yarn.lock b/yarn.lock index a77b67b..cfbab1a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,9 +28,9 @@ version "2.2.44" resolved "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" -"@types/pixi.js@^4.5.7": - version "4.5.7" - resolved "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.5.7.tgz#a17d6c3c164ccdabcc86d290ba28f2b3730f2e7d" +"@types/pixi.js@^4.6.0": + version "4.6.0" + resolved "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.6.0.tgz#1fb2b77c63328404bf2c1f0b4fd4cfb75f6ad388" "@types/sinon@^4.0.0": version "4.0.0" From e3095141a3b4bc1e7e461063ea26f2aeba81810f Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:41:15 +0100 Subject: [PATCH 10/22] chore(package): update @types/chai to version 4.0.5 --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2df8ac7..8bf917c 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@types/bluebird": "^3.5.17", - "@types/chai": "^4.0.4", + "@types/chai": "^4.0.5", "@types/mocha": "^2.2.44", "@types/pixi.js": "^4.6.0", "@types/sinon": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index cfbab1a..f4e2298 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,9 +20,9 @@ version "3.5.18" resolved "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.18.tgz#6a60435d4663e290f3709898a4f75014f279c4d6" -"@types/chai@^4.0.4": - version "4.0.4" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18" +"@types/chai@^4.0.5": + version "4.0.5" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.0.5.tgz#b6e250e281b47e0192e236619e9b1afe62fd345c" "@types/mocha@^2.2.44": version "2.2.44" From b61ed71b4d31e6d64873837c51414d0b05039285 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:42:20 +0100 Subject: [PATCH 11/22] chore(package): update lockfile --- yarn.lock | 492 ++++++++++++++++++++++++++---------------------------- 1 file changed, 239 insertions(+), 253 deletions(-) diff --git a/yarn.lock b/yarn.lock index f4e2298..2764650 100644 --- a/yarn.lock +++ b/yarn.lock @@ -111,15 +111,19 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +always-error@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/always-error/-/always-error-1.0.0.tgz#95c84042cfa86f38c86ca6c2cc42c0a0103441b2" + amdefine@>=0.0.4, amdefine@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: - string-width "^1.0.1" + string-width "^2.0.0" ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: version "1.4.0" @@ -396,17 +400,17 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" ban-sensitive-files@^1.7.2: - version "1.9.0" - resolved "https://registry.npmjs.org/ban-sensitive-files/-/ban-sensitive-files-1.9.0.tgz#39c9c8a171656aa3dfd214e8d6cc41407210b210" + version "1.9.1" + resolved "https://registry.npmjs.org/ban-sensitive-files/-/ban-sensitive-files-1.9.1.tgz#c76805110ae52a1ecc4e09b400564d044bf68e59" dependencies: - bluebird "3.4.6" - check-more-types "2.23.0" - debug "2.6.0" - ggit "1.13.6" - lazy-ass "1.5.0" - pluralize "3.0.0" - ramda "0.22.1" - update-notifier "1.0.3" + bluebird "3.5.1" + check-more-types "2.24.0" + debug "3.1.0" + ggit "2.4.0" + lazy-ass "1.6.0" + pluralize "7.0.0" + ramda "0.25.0" + update-notifier "2.3.0" base64-arraybuffer@0.1.5: version "0.1.5" @@ -445,8 +449,8 @@ big.js@^3.1.3: resolved "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" + version "1.11.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" bit-twiddle@^1.0.2: version "1.0.2" @@ -468,15 +472,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.4.6: - version "3.4.6" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" - -bluebird@3.4.7: - version "3.4.7" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - -bluebird@^3.3.0, bluebird@^3.4.7, bluebird@^3.5.1: +bluebird@3.5.1, bluebird@^3.3.0, bluebird@^3.4.7, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -532,18 +528,16 @@ boom@5.x.x: dependencies: hoek "4.x.x" -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" +boxen@^1.2.1: + version "1.2.2" + resolved "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz#3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5" dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" + string-width "^2.0.0" + term-size "^1.2.0" widest-line "^1.0.0" brace-expansion@^1.1.7: @@ -628,11 +622,11 @@ browserify-versionify@^1.0.6: find-root "^0.1.1" through2 "0.6.3" -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" dependencies: - pako "~0.2.0" + pako "~1.0.5" buffer-indexof@^1.0.0: version "1.1.1" @@ -684,7 +678,7 @@ camelcase@^1.0.2: version "1.2.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.0.0, camelcase@^2.1.0: +camelcase@^2.0.0: version "2.1.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -692,7 +686,7 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -camelcase@^4.1.0: +camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -740,23 +734,23 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chdir-promise@0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/chdir-promise/-/chdir-promise-0.4.0.tgz#46dc602ed193197470140f152459a4382cf79974" +chdir-promise@0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/chdir-promise/-/chdir-promise-0.4.1.tgz#1888bb33719699c9fb72138c07556503c4913e85" dependencies: - check-more-types "2.23.0" - debug "^2.3.3" - lazy-ass "1.5.0" - q "1.1.2" - spots "0.4.0" + check-more-types "2.24.0" + debug "2.6.8" + lazy-ass "1.6.0" + q "1.5.0" + spots "0.5.0" check-error@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" -check-more-types@2.23.0: - version "2.23.0" - resolved "https://registry.npmjs.org/check-more-types/-/check-more-types-2.23.0.tgz#6226264d30b1095aa1c0a5b874edbdd5d2d0a66f" +check-more-types@2.24.0: + version "2.24.0" + resolved "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" chokidar@^1.4.1, chokidar@^1.6.0, chokidar@^1.7.0: version "1.7.0" @@ -880,12 +874,6 @@ commander@2.11.0, commander@2.11.x, commander@^2.9.0, commander@~2.11.0: version "2.11.0" resolved "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" -commander@2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - commander@~2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" @@ -936,19 +924,16 @@ concat-stream@1.6.0, concat-stream@^1.5.2: readable-stream "^2.2.2" typedarray "^0.0.6" -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" +configstore@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" dependencies: - dot-prop "^3.0.0" + dot-prop "^4.1.0" graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" connect-history-api-fallback@^1.3.0: version "1.5.0" @@ -1021,7 +1006,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.1: +create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: @@ -1090,6 +1075,10 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + css-select@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -1144,7 +1133,7 @@ dateformat@^1.0.11: get-stdin "^4.0.1" meow "^3.3.0" -debug@2, debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8: +debug@2, debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.6.6, debug@^2.6.8: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -1162,11 +1151,11 @@ debug@2.3.3: dependencies: ms "0.7.2" -debug@2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" +debug@2.6.8: + version "2.6.8" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: - ms "0.7.2" + ms "2.0.0" debug@3.1.0, debug@^3.1.0: version "3.1.0" @@ -1351,9 +1340,9 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" dependencies: is-obj "^1.0.0" @@ -1363,11 +1352,9 @@ duplexer2@0.0.2: dependencies: readable-stream "~1.1.9" -duplexer2@^0.1.4: +duplexer3@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" duplexify@^3.4.5: version "3.5.1" @@ -1862,10 +1849,6 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - finalhandler@1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" @@ -1894,6 +1877,12 @@ find-root@^0.1.1: version "0.1.2" resolved "https://registry.npmjs.org/find-root/-/find-root-0.1.2.tgz#98d2267cff1916ccaf2743b3a0eea81d79d7dcd1" +find-up@2.1.0, find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1901,12 +1890,6 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - findup@^0.1.5: version "0.1.5" resolved "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" @@ -2063,26 +2046,31 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -ggit@1.13.6: - version "1.13.6" - resolved "https://registry.npmjs.org/ggit/-/ggit-1.13.6.tgz#a91eeca4f12920ae58b9e34daa9a824b5e187c8e" +ggit@2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/ggit/-/ggit-2.4.0.tgz#b99d981f3ede2a3a8a8e4bbff578bc277d400588" dependencies: - bluebird "3.4.7" - chdir-promise "0.4.0" - check-more-types "2.23.0" + always-error "1.0.0" + bluebird "3.5.1" + chdir-promise "0.4.1" + check-more-types "2.24.0" cli-table "0.3.1" colors "1.1.2" - commander "2.9.0" + commander "2.11.0" d3-helpers "0.3.0" - debug "2.6.0" - glob "7.1.1" - lazy-ass "1.5.0" - lodash "3.10.1" - moment "2.17.0" + debug "3.1.0" + find-up "2.1.0" + glob "7.1.2" + lazy-ass "1.6.0" + lodash "4.17.4" + moment "2.19.1" + moment-timezone "0.5.13" optimist "0.6.1" + pluralize "7.0.0" q "2.0.3" quote "0.4.0" - ramda "0.9.1" + ramda "0.25.0" + semver "5.4.1" glob-base@^0.3.0: version "0.3.0" @@ -2097,17 +2085,6 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.1.2, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.2: version "7.1.2" resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -2139,6 +2116,12 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + dependencies: + ini "^1.3.4" + globals@^9.18.0: version "9.18.0" resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2283,34 +2266,26 @@ glslify@^6.1.0: through2 "^2.0.1" xtend "^4.0.0" -got@^5.0.0: - version "5.7.1" - resolved "https://registry.npmjs.org/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" +got@^6.7.1: + version "6.7.1" + resolved "https://registry.npmjs.org/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" is-redirect "^1.0.0" is-retry-allowed "^1.0.0" is-stream "^1.0.0" lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" url-parse-lax "^1.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - growl@1.10.3: version "1.10.3" resolved "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" @@ -2590,9 +2565,9 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" https-proxy-agent@^1.0.0: version "1.0.0" @@ -2610,6 +2585,10 @@ ieee754@^1.1.4: version "1.1.8" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + import-local@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" @@ -2653,7 +2632,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@~1.3.0: +ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -2789,6 +2768,13 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -3222,24 +3208,20 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" dependencies: - package-json "^2.0.0" + package-json "^4.0.0" -lazy-ass@1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.5.0.tgz#ca15be243c7c475b8565cdbfa0f9c2f374f2a01d" +lazy-ass@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -3391,14 +3373,14 @@ lodash.toarray@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" -lodash@3.10.1, lodash@^3.8.0: - version "3.10.1" - resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - -lodash@^4.0.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.7.0: +lodash@4.17.4, lodash@^4.0.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.7.0: version "4.17.4" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^3.8.0: + version "3.10.1" + resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + log-symbols@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.1.0.tgz#f35fa60e278832b538dc4dddcbb478a45d3e3be6" @@ -3467,6 +3449,12 @@ lru-cache@^4.0.0, lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +make-dir@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" + dependencies: + pify "^3.0.0" + make-error@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" @@ -3611,7 +3599,7 @@ mkdirp@0.5.0: dependencies: minimist "0.0.8" -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3632,11 +3620,17 @@ mocha@^4.0.1: mkdirp "0.5.1" supports-color "4.4.0" -moment@2.17.0: - version "2.17.0" - resolved "https://registry.npmjs.org/moment/-/moment-2.17.0.tgz#a4c292e02aac5ddefb29a6eed24f51938dd3b74f" +moment-timezone@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90" + dependencies: + moment ">= 2.9.0" + +moment@2.19.1: + version "2.19.1" + resolved "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167" -moment@2.x.x: +moment@2.x.x, "moment@>= 2.9.0": version "2.19.2" resolved "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz#8a7f774c95a64550b4c7ebd496683908f9419dbe" @@ -3657,8 +3651,8 @@ multicast-dns-service-types@^1.1.0: resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" multicast-dns@^6.0.1: - version "6.1.1" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" + version "6.2.0" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.0.tgz#13f22d0c32dc5ee82a32878e3c380d875b3eab22" dependencies: dns-packet "^1.0.1" thunky "^0.1.0" @@ -3678,8 +3672,8 @@ mute-stream@0.0.5: resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" nan@^2.3.0: - version "2.7.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" + version "2.8.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" ncname@1.0.x: version "1.0.0" @@ -3718,28 +3712,28 @@ node-forge@0.6.33: resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + version "2.1.0" + resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" dependencies: assert "^1.1.1" - browserify-zlib "^0.1.4" + browserify-zlib "^0.2.0" buffer "^4.3.0" console-browserify "^1.1.0" constants-browserify "^1.0.0" crypto-browserify "^3.11.0" domain-browser "^1.1.1" events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" path-browserify "0.0.0" - process "^0.11.0" + process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" - readable-stream "^2.0.5" + readable-stream "^2.3.3" stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" tty-browserify "0.0.0" url "^0.11.0" util "^0.10.3" @@ -3761,10 +3755,6 @@ node-pre-gyp@^0.6.39: tar "^2.2.1" tar-pack "^3.4.0" -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - nodesecurity-npm-utils@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz#05aa30de30ca8c845c4048e94fd78e5e08b55ed9" @@ -3941,9 +3931,9 @@ original@>=0.0.5: dependencies: url-parse "1.0.x" -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" os-family@^1.0.0: version "1.0.0" @@ -3971,7 +3961,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: @@ -3996,18 +3986,18 @@ p-map@^1.1.1: version "1.2.0" resolved "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" dependencies: - got "^5.0.0" + got "^6.7.1" registry-auth-token "^3.0.1" registry-url "^3.0.3" semver "^5.1.0" -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" param-case@2.1.x: version "2.1.1" @@ -4034,7 +4024,7 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.1.0, parse-json@^2.2.0: +parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: @@ -4213,9 +4203,9 @@ pkgd@^1.1.2: normalize-path "^2.0.1" pinkie-promise "^2.0.1" -pluralize@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-3.0.0.tgz#72799a9ef41a53ff0c03de6522e286b40d5c932d" +pluralize@7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" pop-iterate@^1.0.1: version "1.0.1" @@ -4256,7 +4246,7 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -process@^0.11.0: +process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -4322,9 +4312,9 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -q@1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/q/-/q-1.1.2.tgz#6357e291206701d99f197ab84e57e8ad196f2a89" +q@1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" q@2.0.3: version "2.0.3" @@ -4366,13 +4356,9 @@ quote@0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz#10839217f6c1362b89194044d29b233fd7f32f01" -ramda@0.22.1: - version "0.22.1" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.22.1.tgz#031da0c3df417c5b33c96234757eb37033f36a0e" - -ramda@0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.9.1.tgz#cc914dc3a82c608d003090203787c3f6826c1d87" +ramda@0.25.0: + version "0.25.0" + resolved "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9" randomatic@^1.1.3: version "1.1.7" @@ -4416,13 +4402,6 @@ rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -4462,7 +4441,7 @@ readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0 isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.2.9: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.2.9, readable-stream@^2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -4781,7 +4760,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.4.1, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.4.1" resolved "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -4882,7 +4861,7 @@ shell-quote@^1.4.3: array-reduce "~0.0.0" jsonify "~0.0.0" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -4902,10 +4881,6 @@ sinon@^4.0.2: supports-color "^4.4.0" type-detect "^4.0.0" -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - sntp@1.x.x: version "1.0.9" resolved "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -5051,9 +5026,9 @@ spdy@^3.4.1: select-hose "^2.0.0" spdy-transport "^2.0.18" -spots@0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/spots/-/spots-0.4.0.tgz#01eec5efc143669d9d3a20e3eec8b8cbd9842df6" +spots@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/spots/-/spots-0.5.0.tgz#b7aa0f1ac389a5a6d57c21e98da1d53839405fe1" sprintf-js@~1.0.2: version "1.0.3" @@ -5098,7 +5073,7 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-http@^2.3.1: +stream-http@^2.7.2: version "2.7.2" resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" dependencies: @@ -5135,16 +5110,16 @@ string.prototype.trim@~1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.3: +string_decoder@^1.0.0, string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" dependencies: safe-buffer "~5.1.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5259,6 +5234,12 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + dependencies: + execa "^0.7.0" + text-encoding@^0.6.4: version "0.6.4" resolved "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" @@ -5311,11 +5292,11 @@ time-stamp@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" -timers-browserify@^2.0.2: +timers-browserify@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" dependencies: @@ -5470,8 +5451,8 @@ typescript@^2.5.3: resolved "https://registry.npmjs.org/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631" uglify-js@3.1.x: - version "3.1.9" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.9.tgz#dffca799308cf327ec3ac77eeacb8e196ce3b452" + version "3.1.10" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.10.tgz#c4a5f9b5c6276b40cb971c1d97c9eeb26af9509c" dependencies: commander "~2.11.0" source-map "~0.6.1" @@ -5505,26 +5486,33 @@ ultron@1.0.x: version "1.0.2" resolved "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + dependencies: + crypto-random-string "^1.0.0" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -update-notifier@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" +update-notifier@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-installed-globally "^0.1.0" is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" + latest-version "^3.0.0" semver-diff "^2.0.0" - xdg-basedir "^2.0.0" + xdg-basedir "^3.0.0" upper-case@^1.1.1: version "1.1.3" @@ -5586,7 +5574,7 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@^2.0.1, uuid@^2.0.2: +uuid@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" @@ -5802,13 +5790,13 @@ wreck@^6.3.0: boom "2.x.x" hoek "2.x.x" -write-file-atomic@^1.1.2: - version "1.3.4" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" +write-file-atomic@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" - slide "^1.1.5" + signal-exit "^3.0.2" ws@1.1.2: version "1.1.2" @@ -5821,11 +5809,9 @@ wtf-8@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" xml-char-classes@^1.0.0: version "1.0.0" From 5c79a4e6318017e34cacd06a3645c0b2f808f98c Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:45:00 +0100 Subject: [PATCH 12/22] update package.json --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8bf917c..1d74d4f 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ ], "author": "RobotlegsJS", "contributors": [ - "Ronaldo Santiago " + "Ronaldo Santiago ", + "Tiago Schenkel " ], "license": "MIT", "bugs": { From 15c6b9d34424a0def11d368940e906c09ea2ae24 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:46:29 +0100 Subject: [PATCH 13/22] update links on changelog --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 991140a..f73c92f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ ## RobotlegsJS-Pixi-Palidor 0.0.1 -### [v0.0.6](https://github.com/RobotlegsJS/RobotlegsJS-Pixi/releases/tag/0.0.6) - 2017-10-18 +### [v0.0.6](https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor/releases/tag/0.0.6) - 2017-10-18 - Update @robotlegsjs/pixi to version 0.0.6 (see #14). @@ -40,13 +40,13 @@ - Update dev dependencies to latest version. -### [v0.0.5](https://github.com/RobotlegsJS/RobotlegsJS-Pixi/releases/tag/0.0.5) - 2017-10-11 +### [v0.0.5](https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor/releases/tag/0.0.5) - 2017-10-11 - Update @robotlegsjs/pixi to version 0.0.5 (see #12). - Update dev dependencies to latest version. -### [v0.0.4](https://github.com/RobotlegsJS/RobotlegsJS-Pixi/releases/tag/0.0.4) - 2017-09-26 +### [v0.0.4](https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor/releases/tag/0.0.4) - 2017-09-26 - Adapt to NPM [v5.0.0](http://blog.npmjs.org/post/161081169345/v500) (see #5). @@ -58,7 +58,7 @@ - Update dev dependencies to latest version. -### [v0.0.3](https://github.com/RobotlegsJS/RobotlegsJS-Pixi/releases/tag/0.0.3) - 2017-09-15 +### [v0.0.3](https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor/releases/tag/0.0.3) - 2017-09-15 - Update @robotlegsjs/core to version 0.0.5 (see #2). @@ -72,7 +72,7 @@ - Update dev dependencies to latest version. -### [v0.0.2](https://github.com/RobotlegsJS/RobotlegsJS-Pixi/releases/tag/0.0.2) - 2017-09-03 +### [v0.0.2](https://github.com/RobotlegsJS/RobotlegsJS-Pixi-Palidor/releases/tag/0.0.2) - 2017-09-03 - Add copyright. From c6db9b18a4d5d76fe0479b8b3f45a7aea95805f9 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 17:47:47 +0100 Subject: [PATCH 14/22] update changelog --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f73c92f..446cbf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ - Update README. -- Update @robotlegsjs/pixi to version 0.1.0 (see #17). +- Update @robotlegsjs/pixi to version 0.1.1 (see #17 and #24). - Add Changelog (see #20). @@ -28,6 +28,8 @@ - Add Pull Request Template (see #23). +- Use IContextView to get a reference of the stage (see #24). + - Update dev dependencies to latest version. ## RobotlegsJS-Pixi-Palidor 0.0.1 From 573d51006a05e419720db04d0793a4120442dfd4 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 18:38:14 +0100 Subject: [PATCH 15/22] handleContextView is only called when an ContextView is provided --- .../palidorPixi/PalidorPixiExtension.ts | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts index 3db6352..ba8bff2 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts @@ -36,19 +36,13 @@ export class PalidorPixiExtension implements IExtension { } private handleContextView(contextView: IContextView): void { - if (this._injector.isBound(IContextView)) { - this._injector - .bind(IContainerController) - .to(PixiContainerContoller) - .inSingletonScope(); - this._injector - .bind(IFlowManager) - .to(FlowManager) - .inSingletonScope(); - } else { - this._logger.error( - "A ContextView must be installed if you install the PalidorPixiExtension." - ); - } + this._injector + .bind(IContainerController) + .to(PixiContainerContoller) + .inSingletonScope(); + this._injector + .bind(IFlowManager) + .to(FlowManager) + .inSingletonScope(); } } From 5e8717ecb4751af7dd3e2ff3f0c58ef05072dead Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 18:50:31 +0100 Subject: [PATCH 16/22] remove unused logger --- .../bender/extensions/palidorPixi/PalidorPixiExtension.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts index ba8bff2..980c92f 100644 --- a/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts +++ b/src/robotlegs/bender/extensions/palidorPixi/PalidorPixiExtension.ts @@ -15,7 +15,6 @@ import { IContext, IExtension, IInjector, - ILogger, instanceOfType } from "@robotlegsjs/core"; @@ -23,11 +22,9 @@ import { IContextView, ContextView } from "@robotlegsjs/pixi"; export class PalidorPixiExtension implements IExtension { private _injector: IInjector; - private _logger: ILogger; public extend(context: IContext): void { this._injector = context.injector; - this._logger = context.getLogger(this); context.addConfigHandler( instanceOfType(ContextView), From 37b5597a5765d4f6ed2a6596e1fd3f7ccc4e5c99 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 18:50:53 +0100 Subject: [PATCH 17/22] improve code coverage of PalidorPixiExtension class --- .../palidorPixi/palidorPixiExtension.test.ts | 70 +++++++++++++++---- 1 file changed, 57 insertions(+), 13 deletions(-) diff --git a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts index 1c2fc25..df618ff 100644 --- a/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts +++ b/test/robotlegs/bender/extensions/palidorPixi/palidorPixiExtension.test.ts @@ -15,41 +15,85 @@ import { import { assert } from "chai"; import { Container } from "pixi.js"; -import { Context } from "@robotlegsjs/core"; -import { ContextView, PixiBundle } from "@robotlegsjs/pixi"; + +import { + Context, + InjectableLoggerExtension, + EventDispatcherExtension, + DirectCommandMapExtension, + EventCommandMapExtension, + LocalEventMapExtension, + MVCSBundle +} from "@robotlegsjs/core"; + +import { + ContextView, + ContextViewExtension, + PixiBundle +} from "@robotlegsjs/pixi"; describe("PalidorPixiExtension", () => { let context: Context; - beforeEach(() => { - context = new Context(); - context.install(PixiBundle); - context.install(PalidorPixiExtension); - context.configure(new ContextView(new Container())); - }); - afterEach(() => { + if (context.initialized) { + context.destroy(); + } context = null; }); - it("PalidorPixiExtension is mapped into injector", () => { + it("PalidorPixiExtension is properly initialized", () => { let initialized: boolean = false; - context.whenInitializing(function(): void { + + context = new Context(); + context.install(MVCSBundle, PixiBundle); + context.install(PalidorPixiExtension); + context.configure(new ContextView(new Container())); + context.whenInitializing(() => { initialized = true; }); context.initialize(); + assert.isTrue(initialized); }); it("FlowManager is mapped into injector", () => { - context.whenInitializing(function(): void { + context = new Context(); + context.install(MVCSBundle, PixiBundle); + context.install(PalidorPixiExtension); + context.configure(new ContextView(new Container())); + context.afterInitializing(() => { assert.isDefined(context.injector.get(IFlowManager)); }); + context.initialize(); }); it("PixiContainerController is mapped into injector", () => { - context.whenInitializing(function(): void { + context = new Context(); + context.install(MVCSBundle, PixiBundle); + context.install(PalidorPixiExtension); + context.configure(new ContextView(new Container())); + context.afterInitializing(() => { assert.isDefined(context.injector.get(IContainerController)); }); + context.initialize(); + }); + + it("PalidorPixiExtension is not installed when IContextView is not provided", () => { + context = new Context(); + context.install( + InjectableLoggerExtension, + EventDispatcherExtension, + DirectCommandMapExtension, + EventCommandMapExtension, + LocalEventMapExtension + ); + context.install(PixiBundle); + context.install(PalidorPixiExtension); + context.afterInitializing(() => { + assert.isFalse(context.injector.isBound(IContainerController)); + assert.isFalse(context.injector.isBound(IFlowManager)); + }); + context.initialize(); }); }); From e2da39caff43684a4bb8d6a7908100e0d5461ea7 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 18:59:54 +0100 Subject: [PATCH 18/22] update readme --- README.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 28f9780..212be7d 100644 --- a/README.md +++ b/README.md @@ -9,21 +9,27 @@ RobotlegsJS Pixi Palidor Extension [![Greenkeeper badge](https://badges.greenkeeper.io/RobotlegsJS/RobotlegsJS-Pixi-Palidor.svg)](https://greenkeeper.io/) [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) -Palidor is an extension of RobotlegsJS for Pixi, designed to help the management of the Main Container, taking the responsibility to add, remove and, switch the views. Perfect for game development. +Palidor is an extension of RobotlegsJS for Pixi, designed to help the management of the Main Container, taking the responsibility to add, remove and switch the views. Perfect for game development. Installation -=== +--- -You can get the latest release of Palidor and its dependencies using npm: +You can get the latest release and the type definitions using [NPM](https://www.npmjs.com/): +```bash +npm install @robotlegsjs/pixi-palidor ``` -npm install @robotlegsjs/pixi-palidor @robotlegsjs/core @robotlegsjs/pixi pixi.js + +Or using [Yarn](https://yarnpkg.com/en/): + +```bash +yarn add @robotlegsjs/pixi-palidor ``` **Dependencies** + [RobotlegsJS](https://github.com/RobotlegsJS/RobotlegsJS) + [RobotlegsJS-Pixi](https://github.com/RobotlegsJS/RobotlegsJS-Pixi) -+ [PixiJS](https://www.pixijs.com/) ++ [PixiJS](https://github.com/pixijs/pixi.js) Usage === @@ -33,17 +39,18 @@ Palidor was designed to be simple and, practical. You just need to follow three Firstly, you need to instantiate your RobotlegsJS's context, and then install and configure the PalidorPixiExtension and a PixiRootContainer. -```ts +```typescript let stage = new PIXI.Container(); let context = new Context() + .install(MVCSBundle) + .install(PixiBundle) .install(PalidorPixiExtension) - .configure(new PixiRootContainer(this.stage)) + .configure(new ContextView(this.stage)) .configure(PalidorConfig) .initialize(); ``` + **PalidorPixiExtension:** It is the extension itself. -+ **PixiRootContainer:** It is the class responsible for register the Main Container. -+ **PalidorConfig:** The Class that implements the Robotlegs's IConfig and will be responsible for map all Views and FloatingViews. ++ **PalidorConfig:** The Class that implements the Robotlegs's IConfig and will be responsible for map all your Views and FloatingViews. ### Step 2 - Mapping the Views/FloatingViews From d8c8000e59863bbb826f4a8c27535d1bdf40138c Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 19:02:46 +0100 Subject: [PATCH 19/22] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 212be7d..3729ba3 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Palidor was designed to be simple and, practical. You just need to follow three ### Step 1 - Install/Configure -Firstly, you need to instantiate your RobotlegsJS's context, and then install and configure the PalidorPixiExtension and a PixiRootContainer. +Firstly, you need to instantiate your RobotlegsJS's context, and then install and configure the PalidorPixiExtension: ```typescript let stage = new PIXI.Container(); From 9dab6cb8eff4b7f2faf95945c7502ae5e6f77d48 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 19:09:03 +0100 Subject: [PATCH 20/22] update readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 3729ba3..03f9603 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,9 @@ let context = new Context() .configure(PalidorConfig) .initialize(); ``` + ++ **MVCSBundle:** Installs a number of extensions and configurations for developers who are comfortable with the typical [RobotlegsJS](https://github.com/RobotlegsJS/RobotlegsJS) setup. ++ **PixiBundle:** Installs a view / mediator layer provided by [RobotlegsJS-Pixi](https://github.com/RobotlegsJS/RobotlegsJS-Pixi). + **PalidorPixiExtension:** It is the extension itself. + **PalidorConfig:** The Class that implements the Robotlegs's IConfig and will be responsible for map all your Views and FloatingViews. From 4b3d1e9661fcbd1ad952c8315a7223debcfb3aaf Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 19:14:53 +0100 Subject: [PATCH 21/22] update readme --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 03f9603..bb2b753 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Palidor splits the Main Container into two distinct Layers, one to each type of The FlowManager will be the responsible to tells to Palidor each event mapped to each View. -```ts +```typescript import { IFlowManager } from "@robotlegsjs/pixi-palidor"; import { IConfig, injectable, inject } from "@robotlegsjs/core"; @@ -88,7 +88,7 @@ export class MyPalidorConfig implements IConfig { The last part it is the way that Palidor will add the views on the stage, you just need to dispatcher an event using the IEventDispatcher which is available for Injection like any other Robotlegs Command. -```ts +```typescript this.eventDispatcher.dispatchEvent(new CustomEvent(CustomEvent.SHOW_FIRST_VIEW)); ``` @@ -103,7 +103,6 @@ There are some predefined events on the Palidor to help to remove a view or flo Examples === - + [Game - Battleship](https://github.com/RonaldoSetzer/GAME-Battleship) + [Game - Minesweeper](https://github.com/RonaldoSetzer/GAME-Minesweeper) + [Game - Space Invaders](https://github.com/RonaldoSetzer/GAME-SpaceInvaders) @@ -113,4 +112,4 @@ Examples License --- -[MIT](LICENSE) \ No newline at end of file +[MIT](LICENSE) From 1a162de21f335db3081f2da395580e5bdca8d871 Mon Sep 17 00:00:00 2001 From: Tiago Schenkel Date: Mon, 20 Nov 2017 19:26:28 +0100 Subject: [PATCH 22/22] update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bb2b753..acd9214 100644 --- a/README.md +++ b/README.md @@ -46,14 +46,14 @@ let context = new Context() .install(PixiBundle) .install(PalidorPixiExtension) .configure(new ContextView(this.stage)) - .configure(PalidorConfig) + .configure(MyPalidorConfig) .initialize(); ``` + **MVCSBundle:** Installs a number of extensions and configurations for developers who are comfortable with the typical [RobotlegsJS](https://github.com/RobotlegsJS/RobotlegsJS) setup. + **PixiBundle:** Installs a view / mediator layer provided by [RobotlegsJS-Pixi](https://github.com/RobotlegsJS/RobotlegsJS-Pixi). + **PalidorPixiExtension:** It is the extension itself. -+ **PalidorConfig:** The Class that implements the Robotlegs's IConfig and will be responsible for map all your Views and FloatingViews. ++ **MyPalidorConfig:** The Class that implements the Robotlegs's IConfig and will be responsible for map all your Views and FloatingViews. ### Step 2 - Mapping the Views/FloatingViews @@ -86,7 +86,7 @@ export class MyPalidorConfig implements IConfig { ### Step 3 - Adding a View -The last part it is the way that Palidor will add the views on the stage, you just need to dispatcher an event using the IEventDispatcher which is available for Injection like any other Robotlegs Command. +The last part it is the way that Palidor will add the views on the stage, you just need to dispatch an event using the IEventDispatcher which is available for Injection like any other Robotlegs Command. ```typescript this.eventDispatcher.dispatchEvent(new CustomEvent(CustomEvent.SHOW_FIRST_VIEW));