From 23c65a52fea4bed416583259924edc88ea09889d Mon Sep 17 00:00:00 2001 From: Eugene Obrezkov Date: Sun, 27 Sep 2020 16:14:27 +0300 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20fix=20build=20and=20lin?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/config/eslint/.eslintrc.json | 33 ++++++++++++++----- .../src/animation/Animation.ts | 21 ++++++++---- .../src/animation/AnimationObject.ts | 2 +- .../src/animation/AnimationOptions.ts | 2 +- .../src/animation/AnimationPropertyOptions.ts | 4 +-- .../src/animation/Animationable.ts | 4 +-- .../kittik-animation-focus/spec/Focus.spec.ts | 2 +- .../kittik-animation-focus/src/Focus.ts | 10 +++--- .../kittik-animation-focus/src/FocusObject.ts | 4 +-- .../src/FocusOptions.ts | 2 +- .../kittik-animation-print/src/Print.ts | 9 ++--- .../kittik-animation-print/src/PrintObject.ts | 4 +-- .../src/PrintOptions.ts | 2 +- .../kittik-animation-slide/spec/Slide.spec.ts | 3 +- .../kittik-animation-slide/src/Slide.ts | 9 ++--- .../kittik-animation-slide/src/SlideObject.ts | 4 +-- .../src/SlideOptions.ts | 2 +- src/main/kittik-deck/examples/declaration.ts | 6 ++-- src/main/kittik-deck/spec/Deck.spec.ts | 8 +++-- src/main/kittik-deck/src/Deck.ts | 6 ++-- src/main/kittik-deck/src/DeckBuilder.ts | 9 ++--- src/main/kittik-deck/src/DeckDeclaration.ts | 2 +- src/main/kittik-slide/examples/declaration.ts | 6 ++-- src/main/kittik-slide/spec/Slide.spec.ts | 11 ++++--- .../src/animation/AnimationBuilder.ts | 5 +-- .../src/animation/AnimationDeclaration.ts | 4 +-- .../kittik-slide/src/animation/Animations.ts | 11 ++++--- .../kittik-slide/src/shape/ShapeBuilder.ts | 5 +-- .../src/shape/ShapeDeclaration.ts | 4 +-- src/main/kittik-slide/src/shape/Shapes.ts | 17 ++++++---- src/main/kittik-slide/src/slide/Slide.ts | 12 +++---- .../kittik-slide/src/slide/SlideBuilder.ts | 6 ++-- .../src/slide/SlideDeclaration.ts | 6 ++-- src/shapes/kittik-shape-basic/src/Shape.ts | 6 ++-- .../kittik-shape-basic/src/ShapeObject.ts | 2 +- .../kittik-shape-basic/src/ShapeRenderable.ts | 4 +-- src/shapes/kittik-shape-code/src/Code.ts | 11 ++++--- .../kittik-shape-code/src/CodeObject.ts | 4 +-- .../kittik-shape-code/src/CodeOptions.ts | 2 +- .../spec/FigText.spec.ts | 3 +- .../kittik-shape-fig-text/src/FigText.ts | 12 ++++--- .../src/FigTextObject.ts | 4 +-- .../src/FigTextOptions.ts | 4 +-- .../kittik-shape-image/spec/Image.spec.ts | 3 +- src/shapes/kittik-shape-image/src/Image.ts | 9 ++--- .../kittik-shape-image/src/ImageObject.ts | 4 +-- .../kittik-shape-image/src/ImageOptions.ts | 2 +- .../kittik-shape-rectangle/src/Rectangle.ts | 9 ++--- .../src/RectangleObject.ts | 4 +-- .../src/RectangleOptions.ts | 2 +- .../kittik-shape-text/spec/Text.spec.ts | 2 +- src/shapes/kittik-shape-text/src/Text.ts | 9 ++--- .../kittik-shape-text/src/TextObject.ts | 4 +-- .../kittik-shape-text/src/TextOptions.ts | 2 +- 54 files changed, 194 insertions(+), 143 deletions(-) diff --git a/common/config/eslint/.eslintrc.json b/common/config/eslint/.eslintrc.json index 134263e..2f9d045 100644 --- a/common/config/eslint/.eslintrc.json +++ b/common/config/eslint/.eslintrc.json @@ -8,6 +8,8 @@ "extends": [ "eslint:all", "plugin:@typescript-eslint/all", + "plugin:import/errors", + "plugin:import/warnings", "plugin:import/typescript", "plugin:jest/all", "plugin:node/recommended", @@ -32,11 +34,6 @@ "promise", "standard" ], - "settings": { - "jest": { - "version": 26 - } - }, "rules": { "@typescript-eslint/indent": [ "error", @@ -45,6 +42,18 @@ "@typescript-eslint/no-magic-numbers": [ "off" ], + "@typescript-eslint/no-shadow": [ + "off" + ], + "no-duplicate-imports": [ + "off" + ], + "sort-imports": [ + "error", + { + "ignoreDeclarationSort": true + } + ], "@typescript-eslint/no-type-alias": [ "error", { @@ -134,6 +143,10 @@ ] } ], + "@typescript-eslint/quotes": [ + "error", + "single" + ], "node/no-unsupported-features/es-syntax": [ "error", { @@ -161,10 +174,14 @@ "*.js" ], "rules": { - "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-require-imports": "off", - "@typescript-eslint/quotes": "off" + "@typescript-eslint/no-unsafe-assignment": "off" } } - ] + ], + "settings": { + "jest": { + "version": 26 + } + } } diff --git a/src/animations/kittik-animation-basic/src/animation/Animation.ts b/src/animations/kittik-animation-basic/src/animation/Animation.ts index 306dd30..828c610 100644 --- a/src/animations/kittik-animation-basic/src/animation/Animation.ts +++ b/src/animations/kittik-animation-basic/src/animation/Animation.ts @@ -1,10 +1,10 @@ import * as EASING from '../easing/Easing'; -import { AnimationObject } from './AnimationObject'; -import { AnimationOptions } from './AnimationOptions'; -import { AnimationPropertyOptions } from './AnimationPropertyOptions'; -import { EasingOptions } from '../easing/EasingOptions'; +import type { AnimationObject } from './AnimationObject'; +import type { AnimationOptions } from './AnimationOptions'; +import type { AnimationPropertyOptions } from './AnimationPropertyOptions'; +import type { EasingOptions } from '../easing/EasingOptions'; import { EventEmitter } from 'events'; -import { Shape } from 'kittik-shape-basic'; +import type { Shape } from 'kittik-shape-basic'; export { Animationable } from './Animationable'; export { AnimationObject } from './AnimationObject'; @@ -36,8 +36,8 @@ export declare interface Animation { } export class Animation extends EventEmitter implements AnimationOptions { - public duration = 1000; public easing: EASING.Easing = 'outQuad'; + protected rawDuration = 1000; public constructor (options?: Partial) { super(); @@ -77,6 +77,14 @@ export class Animation extends EventEmitter implements AnimationOptions { return this.fromObject(JSON.parse(json)); } + public get duration (): number { + return this.rawDuration; + } + + public set duration (duration: number) { + this.rawDuration = duration; + } + // We need to have a possibility to override onTick in children // Moreover, in case overridden method wants to use its `this` we need to have it here // Even if we do not use `this` in this specific implementation, someone else can @@ -89,6 +97,7 @@ export class Animation extends EventEmitter implements AnimationOptions { // Someone else can override it in children and make use of `this` in his own class // eslint-disable-next-line class-methods-use-this public onEasing (easing: EASING.Easing, options: EasingOptions): number { + // eslint-disable-next-line import/namespace return Math.round(EASING[easing](options.time, options.startValue, options.byValue, options.duration)); } diff --git a/src/animations/kittik-animation-basic/src/animation/AnimationObject.ts b/src/animations/kittik-animation-basic/src/animation/AnimationObject.ts index d4c755d..76ef58b 100644 --- a/src/animations/kittik-animation-basic/src/animation/AnimationObject.ts +++ b/src/animations/kittik-animation-basic/src/animation/AnimationObject.ts @@ -1,4 +1,4 @@ -import { AnimationOptions } from './AnimationOptions'; +import type { AnimationOptions } from './AnimationOptions'; export interface AnimationObject> { type: T diff --git a/src/animations/kittik-animation-basic/src/animation/AnimationOptions.ts b/src/animations/kittik-animation-basic/src/animation/AnimationOptions.ts index 6a5bc7d..6ea339e 100644 --- a/src/animations/kittik-animation-basic/src/animation/AnimationOptions.ts +++ b/src/animations/kittik-animation-basic/src/animation/AnimationOptions.ts @@ -1,4 +1,4 @@ -import { Easing } from '../easing/Easing'; +import type { Easing } from '../easing/Easing'; export interface AnimationOptions { duration: number diff --git a/src/animations/kittik-animation-basic/src/animation/AnimationPropertyOptions.ts b/src/animations/kittik-animation-basic/src/animation/AnimationPropertyOptions.ts index 2b116d4..30ea236 100644 --- a/src/animations/kittik-animation-basic/src/animation/AnimationPropertyOptions.ts +++ b/src/animations/kittik-animation-basic/src/animation/AnimationPropertyOptions.ts @@ -1,5 +1,5 @@ -import { AnimationOptions } from './AnimationOptions'; -import { Shape } from 'kittik-shape-basic'; +import type { AnimationOptions } from './AnimationOptions'; +import type { Shape } from 'kittik-shape-basic'; export interface AnimationPropertyOptions extends Partial { shape: S diff --git a/src/animations/kittik-animation-basic/src/animation/Animationable.ts b/src/animations/kittik-animation-basic/src/animation/Animationable.ts index c037131..fcb1360 100644 --- a/src/animations/kittik-animation-basic/src/animation/Animationable.ts +++ b/src/animations/kittik-animation-basic/src/animation/Animationable.ts @@ -1,5 +1,5 @@ -import { Animation } from './Animation'; -import { Shape } from 'kittik-shape-basic'; +import type { Animation } from './Animation'; +import type { Shape } from 'kittik-shape-basic'; export interface Animationable extends Animation { animate: (shape: T) => Promise diff --git a/src/animations/kittik-animation-focus/spec/Focus.spec.ts b/src/animations/kittik-animation-focus/spec/Focus.spec.ts index a67319a..d36eccf 100644 --- a/src/animations/kittik-animation-focus/spec/Focus.spec.ts +++ b/src/animations/kittik-animation-focus/spec/Focus.spec.ts @@ -1,5 +1,5 @@ import { Focus } from '../src/Focus'; -import { FocusObject } from '../src/FocusObject'; +import type { FocusObject } from '../src/FocusObject'; import { Shape } from 'kittik-shape-basic'; describe('focus animation', () => { diff --git a/src/animations/kittik-animation-focus/src/Focus.ts b/src/animations/kittik-animation-focus/src/Focus.ts index 8715d9a..7fe75f4 100644 --- a/src/animations/kittik-animation-focus/src/Focus.ts +++ b/src/animations/kittik-animation-focus/src/Focus.ts @@ -1,7 +1,8 @@ -import { Animation, Animationable } from 'kittik-animation-basic'; -import { BounceDirection, Direction, FocusOptions, ShakeDirection } from './FocusOptions'; -import { FocusObject } from './FocusObject'; -import { Shape } from 'kittik-shape-basic'; +import { Animation } from 'kittik-animation-basic'; +import type { Animationable } from 'kittik-animation-basic'; +import type { BounceDirection, Direction, FocusOptions, ShakeDirection } from './FocusOptions'; +import type { FocusObject } from './FocusObject'; +import type { Shape } from 'kittik-shape-basic'; export { FocusObject } from './FocusObject'; export { FocusOptions, Direction, BounceDirection, ShakeDirection } from './FocusOptions'; @@ -10,7 +11,6 @@ export class Focus extends Animation implements FocusOptions, Animationable { public direction: Direction = 'shakeX'; public offset = 5; public repeat = 1; - private rawDuration = 1000; public constructor (options?: Partial) { super(options); diff --git a/src/animations/kittik-animation-focus/src/FocusObject.ts b/src/animations/kittik-animation-focus/src/FocusObject.ts index 1af7e79..0335dc3 100644 --- a/src/animations/kittik-animation-focus/src/FocusObject.ts +++ b/src/animations/kittik-animation-focus/src/FocusObject.ts @@ -1,4 +1,4 @@ -import { AnimationObject } from 'kittik-animation-basic'; -import { FocusOptions } from './FocusOptions'; +import type { AnimationObject } from 'kittik-animation-basic'; +import type { FocusOptions } from './FocusOptions'; export type FocusObject = AnimationObject<'Focus', FocusOptions>; diff --git a/src/animations/kittik-animation-focus/src/FocusOptions.ts b/src/animations/kittik-animation-focus/src/FocusOptions.ts index 62a2dcf..e7e380b 100644 --- a/src/animations/kittik-animation-focus/src/FocusOptions.ts +++ b/src/animations/kittik-animation-focus/src/FocusOptions.ts @@ -1,4 +1,4 @@ -import { AnimationOptions } from 'kittik-animation-basic'; +import type { AnimationOptions } from 'kittik-animation-basic'; export type BounceDirection = 'bounceUp' | 'bounceRight' | 'bounceDown' | 'bounceLeft'; export type ShakeDirection = 'shakeX' | 'shakeY'; diff --git a/src/animations/kittik-animation-print/src/Print.ts b/src/animations/kittik-animation-print/src/Print.ts index bc1bbde..e32015b 100644 --- a/src/animations/kittik-animation-print/src/Print.ts +++ b/src/animations/kittik-animation-print/src/Print.ts @@ -1,7 +1,8 @@ -import { Animation, Animationable } from 'kittik-animation-basic'; -import { PrintObject } from './PrintObject'; -import { PrintOptions } from './PrintOptions'; -import { Shape } from 'kittik-shape-basic'; +import type { Animationable } from 'kittik-animation-basic'; +import { Animation } from 'kittik-animation-basic'; +import type { PrintObject } from './PrintObject'; +import type { PrintOptions } from './PrintOptions'; +import type { Shape } from 'kittik-shape-basic'; export { PrintObject } from './PrintObject'; export { PrintOptions } from './PrintOptions'; diff --git a/src/animations/kittik-animation-print/src/PrintObject.ts b/src/animations/kittik-animation-print/src/PrintObject.ts index a2c7651..a80e59b 100644 --- a/src/animations/kittik-animation-print/src/PrintObject.ts +++ b/src/animations/kittik-animation-print/src/PrintObject.ts @@ -1,4 +1,4 @@ -import { AnimationObject } from 'kittik-animation-basic'; -import { PrintOptions } from './PrintOptions'; +import type { AnimationObject } from 'kittik-animation-basic'; +import type { PrintOptions } from './PrintOptions'; export type PrintObject = AnimationObject<'Print', PrintOptions>; diff --git a/src/animations/kittik-animation-print/src/PrintOptions.ts b/src/animations/kittik-animation-print/src/PrintOptions.ts index 5594766..f8b3b92 100644 --- a/src/animations/kittik-animation-print/src/PrintOptions.ts +++ b/src/animations/kittik-animation-print/src/PrintOptions.ts @@ -1,3 +1,3 @@ -import { AnimationOptions } from 'kittik-animation-basic'; +import type { AnimationOptions } from 'kittik-animation-basic'; export type PrintOptions = AnimationOptions; diff --git a/src/animations/kittik-animation-slide/spec/Slide.spec.ts b/src/animations/kittik-animation-slide/spec/Slide.spec.ts index 351c270..6e0390b 100644 --- a/src/animations/kittik-animation-slide/spec/Slide.spec.ts +++ b/src/animations/kittik-animation-slide/spec/Slide.spec.ts @@ -1,4 +1,5 @@ -import { Slide, SlideOptions } from '../src/Slide'; +import type { SlideOptions } from '../src/Slide'; +import { Slide } from '../src/Slide'; import { Canvas } from 'terminal-canvas'; import { Rectangle } from 'kittik-shape-rectangle'; diff --git a/src/animations/kittik-animation-slide/src/Slide.ts b/src/animations/kittik-animation-slide/src/Slide.ts index 962d42b..55ac66e 100644 --- a/src/animations/kittik-animation-slide/src/Slide.ts +++ b/src/animations/kittik-animation-slide/src/Slide.ts @@ -1,7 +1,8 @@ -import { Animation, Animationable } from 'kittik-animation-basic'; -import { Direction, SlideOptions } from './SlideOptions'; -import { Shape } from 'kittik-shape-basic'; -import { SlideObject } from './SlideObject'; +import type { Animationable } from 'kittik-animation-basic'; +import { Animation } from 'kittik-animation-basic'; +import type { Direction, SlideOptions } from './SlideOptions'; +import type { Shape } from 'kittik-shape-basic'; +import type { SlideObject } from './SlideObject'; export { SlideObject } from './SlideObject'; export { SlideOptions, Direction } from './SlideOptions'; diff --git a/src/animations/kittik-animation-slide/src/SlideObject.ts b/src/animations/kittik-animation-slide/src/SlideObject.ts index f771374..e7bca87 100644 --- a/src/animations/kittik-animation-slide/src/SlideObject.ts +++ b/src/animations/kittik-animation-slide/src/SlideObject.ts @@ -1,4 +1,4 @@ -import { AnimationObject } from 'kittik-animation-basic'; -import { SlideOptions } from './SlideOptions'; +import type { AnimationObject } from 'kittik-animation-basic'; +import type { SlideOptions } from './SlideOptions'; export type SlideObject = AnimationObject<'Slide', SlideOptions>; diff --git a/src/animations/kittik-animation-slide/src/SlideOptions.ts b/src/animations/kittik-animation-slide/src/SlideOptions.ts index f547979..22d1a8c 100644 --- a/src/animations/kittik-animation-slide/src/SlideOptions.ts +++ b/src/animations/kittik-animation-slide/src/SlideOptions.ts @@ -1,4 +1,4 @@ -import { AnimationOptions } from 'kittik-animation-basic'; +import type { AnimationOptions } from 'kittik-animation-basic'; export type Direction = 'inUp' | 'inDown' | 'inLeft' | 'inRight' | 'outUp' | 'outDown' | 'outLeft' | 'outRight'; diff --git a/src/main/kittik-deck/examples/declaration.ts b/src/main/kittik-deck/examples/declaration.ts index 379e58d..61ffee0 100644 --- a/src/main/kittik-deck/examples/declaration.ts +++ b/src/main/kittik-deck/examples/declaration.ts @@ -1,7 +1,7 @@ import { Deck } from '..'; -import { FigTextOptions } from 'kittik-shape-fig-text'; -import { FocusOptions } from 'kittik-animation-focus'; -import { SlideOptions } from 'kittik-animation-slide'; +import type { FigTextOptions } from 'kittik-shape-fig-text'; +import type { FocusOptions } from 'kittik-animation-focus'; +import type { SlideOptions } from 'kittik-animation-slide'; const AsciiArtShapeOptions: Partial = { text: 'ASCII ART', diff --git a/src/main/kittik-deck/spec/Deck.spec.ts b/src/main/kittik-deck/spec/Deck.spec.ts index 5f8094e..1ac9e4c 100644 --- a/src/main/kittik-deck/spec/Deck.spec.ts +++ b/src/main/kittik-deck/spec/Deck.spec.ts @@ -1,6 +1,8 @@ -import { Deck, DeckDeclaration } from '../src/Deck'; -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import { Animationable } from 'kittik-animation-basic'; +import type { DeckDeclaration } from '../src/Deck'; +import { Deck } from '../src/Deck'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Animationable } from 'kittik-animation-basic'; import { Canvas } from 'terminal-canvas'; import { Print } from 'kittik-animation-print'; import { Slide } from 'kittik-slide'; diff --git a/src/main/kittik-deck/src/Deck.ts b/src/main/kittik-deck/src/Deck.ts index becd81a..45bc1d5 100644 --- a/src/main/kittik-deck/src/Deck.ts +++ b/src/main/kittik-deck/src/Deck.ts @@ -1,8 +1,8 @@ -import { Animationable } from 'kittik-animation-basic'; +import type { Animationable } from 'kittik-animation-basic'; import { Canvas } from 'terminal-canvas'; -import { DeckDeclaration } from './DeckDeclaration'; +import type { DeckDeclaration } from './DeckDeclaration'; import { EventEmitter } from 'events'; -import { ShapeRenderable } from 'kittik-shape-basic'; +import type { ShapeRenderable } from 'kittik-shape-basic'; import { Slide } from 'kittik-slide'; import readline from 'readline'; import tty from 'tty'; diff --git a/src/main/kittik-deck/src/DeckBuilder.ts b/src/main/kittik-deck/src/DeckBuilder.ts index 1120ff7..d313b42 100644 --- a/src/main/kittik-deck/src/DeckBuilder.ts +++ b/src/main/kittik-deck/src/DeckBuilder.ts @@ -1,8 +1,9 @@ -import { Slide, SlideBuilder } from 'kittik-slide'; -import { Animationable } from 'kittik-animation-basic'; -import { Canvas } from 'terminal-canvas'; +import type { Slide } from 'kittik-slide'; +import { SlideBuilder } from 'kittik-slide'; +import type { Animationable } from 'kittik-animation-basic'; +import type { Canvas } from 'terminal-canvas'; import { Deck } from './Deck'; -import { ShapeRenderable } from 'kittik-shape-basic'; +import type { ShapeRenderable } from 'kittik-shape-basic'; export class DeckBuilder { private readonly deck: Deck = new Deck(); diff --git a/src/main/kittik-deck/src/DeckDeclaration.ts b/src/main/kittik-deck/src/DeckDeclaration.ts index b35ea3b..a47042a 100644 --- a/src/main/kittik-deck/src/DeckDeclaration.ts +++ b/src/main/kittik-deck/src/DeckDeclaration.ts @@ -1,4 +1,4 @@ -import { AnimationDeclaration, ShapeDeclaration, SlideDeclaration } from 'kittik-slide'; +import type { AnimationDeclaration, ShapeDeclaration, SlideDeclaration } from 'kittik-slide'; export interface DeckDeclaration { shapes?: ShapeDeclaration[] diff --git a/src/main/kittik-slide/examples/declaration.ts b/src/main/kittik-slide/examples/declaration.ts index ae27cff..5fc34e0 100644 --- a/src/main/kittik-slide/examples/declaration.ts +++ b/src/main/kittik-slide/examples/declaration.ts @@ -1,8 +1,8 @@ -import { AnimationDeclaration } from '../src/animation/AnimationDeclaration'; +import type { AnimationDeclaration } from '../src/animation/AnimationDeclaration'; import { Canvas } from 'terminal-canvas'; -import { ShapeDeclaration } from '../src/shape/ShapeDeclaration'; +import type { ShapeDeclaration } from '../src/shape/ShapeDeclaration'; import { Slide } from '..'; -import { SlideOptions } from 'kittik-animation-slide'; +import type { SlideOptions } from 'kittik-animation-slide'; const canvas = Canvas .create() diff --git a/src/main/kittik-slide/spec/Slide.spec.ts b/src/main/kittik-slide/spec/Slide.spec.ts index a7961a7..9a8a6e0 100644 --- a/src/main/kittik-slide/spec/Slide.spec.ts +++ b/src/main/kittik-slide/spec/Slide.spec.ts @@ -1,11 +1,12 @@ -import { Text, TextObject } from 'kittik-shape-text'; -import { AnimationDeclaration } from '../src/animation/AnimationDeclaration'; +import type { TextObject } from 'kittik-shape-text'; +import { Text } from 'kittik-shape-text'; +import type { AnimationDeclaration } from '../src/animation/AnimationDeclaration'; import { Canvas } from 'terminal-canvas'; -import { OrderDeclaration } from '../src/slide/OrderDeclaration'; +import type { OrderDeclaration } from '../src/slide/OrderDeclaration'; import { Print } from 'kittik-animation-print'; -import { ShapeDeclaration } from '../src/shape/ShapeDeclaration'; +import type { ShapeDeclaration } from '../src/shape/ShapeDeclaration'; import { Slide } from '../src/slide/Slide'; -import { SlideDeclaration } from '../src/slide/SlideDeclaration'; +import type { SlideDeclaration } from '../src/slide/SlideDeclaration'; const SLIDE_DECLARATION: SlideDeclaration = { name: 'Testing Slide', diff --git a/src/main/kittik-slide/src/animation/AnimationBuilder.ts b/src/main/kittik-slide/src/animation/AnimationBuilder.ts index 4546870..dcdbf04 100644 --- a/src/main/kittik-slide/src/animation/AnimationBuilder.ts +++ b/src/main/kittik-slide/src/animation/AnimationBuilder.ts @@ -1,5 +1,6 @@ -import { ANIMATIONS, AnimationOptions, AnimationType } from './Animations'; -import { AnimationObject, Animationable } from 'kittik-animation-basic'; +import type { AnimationOptions, AnimationType } from './Animations'; +import { ANIMATIONS } from './Animations'; +import type { AnimationObject, Animationable } from 'kittik-animation-basic'; export class AnimationBuilder> implements AnimationObject { public type: T; diff --git a/src/main/kittik-slide/src/animation/AnimationDeclaration.ts b/src/main/kittik-slide/src/animation/AnimationDeclaration.ts index e5a1e46..9e653ce 100644 --- a/src/main/kittik-slide/src/animation/AnimationDeclaration.ts +++ b/src/main/kittik-slide/src/animation/AnimationDeclaration.ts @@ -1,5 +1,5 @@ -import { AnimationOptions, AnimationType } from './Animations'; -import { AnimationObject } from 'kittik-animation-basic'; +import type { AnimationOptions, AnimationType } from './Animations'; +import type { AnimationObject } from 'kittik-animation-basic'; export interface AnimationDeclaration extends AnimationObject>> { name: string diff --git a/src/main/kittik-slide/src/animation/Animations.ts b/src/main/kittik-slide/src/animation/Animations.ts index f9c17c4..9562be3 100644 --- a/src/main/kittik-slide/src/animation/Animations.ts +++ b/src/main/kittik-slide/src/animation/Animations.ts @@ -1,7 +1,10 @@ -import { Focus, FocusObject, FocusOptions } from 'kittik-animation-focus'; -import { Print, PrintObject, PrintOptions } from 'kittik-animation-print'; -import { Slide, SlideObject, SlideOptions } from 'kittik-animation-slide'; -import { Animation } from 'kittik-animation-basic'; +import type { FocusObject, FocusOptions } from 'kittik-animation-focus'; +import { Focus } from 'kittik-animation-focus'; +import type { PrintObject, PrintOptions } from 'kittik-animation-print'; +import { Print } from 'kittik-animation-print'; +import type { SlideObject, SlideOptions } from 'kittik-animation-slide'; +import { Slide } from 'kittik-animation-slide'; +import type { Animation } from 'kittik-animation-basic'; export type AnimationType = 'Focus' | 'Print' | 'Slide'; export type AnimationOptions = TypesMap[T]['options']; diff --git a/src/main/kittik-slide/src/shape/ShapeBuilder.ts b/src/main/kittik-slide/src/shape/ShapeBuilder.ts index 39e6fdb..7e515ed 100644 --- a/src/main/kittik-slide/src/shape/ShapeBuilder.ts +++ b/src/main/kittik-slide/src/shape/ShapeBuilder.ts @@ -1,5 +1,6 @@ -import { SHAPES, ShapeOptions, ShapeType } from './Shapes'; -import { ShapeObject, ShapeRenderable } from 'kittik-shape-basic'; +import type { ShapeOptions, ShapeType } from './Shapes'; +import { SHAPES } from './Shapes'; +import type { ShapeObject, ShapeRenderable } from 'kittik-shape-basic'; export class ShapeBuilder> implements ShapeObject { public type: T; diff --git a/src/main/kittik-slide/src/shape/ShapeDeclaration.ts b/src/main/kittik-slide/src/shape/ShapeDeclaration.ts index 1d637bc..32d73f3 100644 --- a/src/main/kittik-slide/src/shape/ShapeDeclaration.ts +++ b/src/main/kittik-slide/src/shape/ShapeDeclaration.ts @@ -1,5 +1,5 @@ -import { ShapeOptions, ShapeType } from './Shapes'; -import { ShapeObject } from 'kittik-shape-basic'; +import type { ShapeOptions, ShapeType } from './Shapes'; +import type { ShapeObject } from 'kittik-shape-basic'; export interface ShapeDeclaration extends ShapeObject>> { name: string diff --git a/src/main/kittik-slide/src/shape/Shapes.ts b/src/main/kittik-slide/src/shape/Shapes.ts index 37b16f9..039eb6e 100644 --- a/src/main/kittik-slide/src/shape/Shapes.ts +++ b/src/main/kittik-slide/src/shape/Shapes.ts @@ -1,9 +1,14 @@ -import { Code, CodeObject, CodeOptions } from 'kittik-shape-code'; -import { FigText, FigTextObject, FigTextOptions } from 'kittik-shape-fig-text'; -import { Image, ImageObject, ImageOptions } from 'kittik-shape-image'; -import { Rectangle, RectangleObject, RectangleOptions } from 'kittik-shape-rectangle'; -import { Text, TextObject, TextOptions } from 'kittik-shape-text'; -import { Shape } from 'kittik-shape-basic'; +import { Code } from 'kittik-shape-code'; +import { FigText } from 'kittik-shape-fig-text'; +import { Image } from 'kittik-shape-image'; +import { Rectangle } from 'kittik-shape-rectangle'; +import { Text } from 'kittik-shape-text'; +import type { CodeObject, CodeOptions } from 'kittik-shape-code'; +import type { FigTextObject, FigTextOptions } from 'kittik-shape-fig-text'; +import type { ImageObject, ImageOptions } from 'kittik-shape-image'; +import type { RectangleObject, RectangleOptions } from 'kittik-shape-rectangle'; +import type { Shape } from 'kittik-shape-basic'; +import type { TextObject, TextOptions } from 'kittik-shape-text'; export type ShapeType = 'Code' | 'FigText' | 'Image' | 'Rectangle' | 'Text'; export type ShapeOptions = TypesMap[T]['options']; diff --git a/src/main/kittik-slide/src/slide/Slide.ts b/src/main/kittik-slide/src/slide/Slide.ts index 419d378..5597f75 100644 --- a/src/main/kittik-slide/src/slide/Slide.ts +++ b/src/main/kittik-slide/src/slide/Slide.ts @@ -1,12 +1,12 @@ import { ANIMATIONS } from '../animation/Animations'; -import { AnimationDeclaration } from '../animation/AnimationDeclaration'; -import { Animationable } from 'kittik-animation-basic'; +import type { AnimationDeclaration } from '../animation/AnimationDeclaration'; +import type { Animationable } from 'kittik-animation-basic'; import { Canvas } from 'terminal-canvas'; -import { OrderDeclaration } from './OrderDeclaration'; +import type { OrderDeclaration } from './OrderDeclaration'; import { SHAPES } from '../shape/Shapes'; -import { ShapeDeclaration } from '../shape/ShapeDeclaration'; -import { ShapeRenderable } from 'kittik-shape-basic'; -import { SlideDeclaration } from './SlideDeclaration'; +import type { ShapeDeclaration } from '../shape/ShapeDeclaration'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import type { SlideDeclaration } from './SlideDeclaration'; export { AnimationBuilder } from '../animation/AnimationBuilder'; export { AnimationDeclaration } from '../animation/AnimationDeclaration'; diff --git a/src/main/kittik-slide/src/slide/SlideBuilder.ts b/src/main/kittik-slide/src/slide/SlideBuilder.ts index 0db0333..30ca88f 100644 --- a/src/main/kittik-slide/src/slide/SlideBuilder.ts +++ b/src/main/kittik-slide/src/slide/SlideBuilder.ts @@ -1,6 +1,6 @@ -import { Animationable } from 'kittik-animation-basic'; -import { Canvas } from 'terminal-canvas'; -import { ShapeRenderable } from 'kittik-shape-basic'; +import type { Animationable } from 'kittik-animation-basic'; +import type { Canvas } from 'terminal-canvas'; +import type { ShapeRenderable } from 'kittik-shape-basic'; import { Slide } from './Slide'; type TShapeAccumulator = diff --git a/src/main/kittik-slide/src/slide/SlideDeclaration.ts b/src/main/kittik-slide/src/slide/SlideDeclaration.ts index 09cc0c6..784ca67 100644 --- a/src/main/kittik-slide/src/slide/SlideDeclaration.ts +++ b/src/main/kittik-slide/src/slide/SlideDeclaration.ts @@ -1,6 +1,6 @@ -import { AnimationDeclaration } from '../animation/AnimationDeclaration'; -import { OrderDeclaration } from './OrderDeclaration'; -import { ShapeDeclaration } from '../shape/ShapeDeclaration'; +import type { AnimationDeclaration } from '../animation/AnimationDeclaration'; +import type { OrderDeclaration } from './OrderDeclaration'; +import type { ShapeDeclaration } from '../shape/ShapeDeclaration'; export interface SlideDeclaration { name: string diff --git a/src/shapes/kittik-shape-basic/src/Shape.ts b/src/shapes/kittik-shape-basic/src/Shape.ts index 6e03933..82c8114 100644 --- a/src/shapes/kittik-shape-basic/src/Shape.ts +++ b/src/shapes/kittik-shape-basic/src/Shape.ts @@ -1,7 +1,7 @@ import { Canvas } from 'terminal-canvas'; -import { ShapeObject } from './ShapeObject'; -import { ShapeOptions } from './ShapeOptions'; -import { ShapeRenderable } from './ShapeRenderable'; +import type { ShapeObject } from './ShapeObject'; +import type { ShapeOptions } from './ShapeOptions'; +import type { ShapeRenderable } from './ShapeRenderable'; export { ShapeObject } from './ShapeObject'; export { ShapeOptions } from './ShapeOptions'; diff --git a/src/shapes/kittik-shape-basic/src/ShapeObject.ts b/src/shapes/kittik-shape-basic/src/ShapeObject.ts index 58ac33a..cb6fcf8 100644 --- a/src/shapes/kittik-shape-basic/src/ShapeObject.ts +++ b/src/shapes/kittik-shape-basic/src/ShapeObject.ts @@ -1,4 +1,4 @@ -import { ShapeOptions } from './ShapeOptions'; +import type { ShapeOptions } from './ShapeOptions'; export interface ShapeObject> { type: T diff --git a/src/shapes/kittik-shape-basic/src/ShapeRenderable.ts b/src/shapes/kittik-shape-basic/src/ShapeRenderable.ts index 02417d3..41bde08 100644 --- a/src/shapes/kittik-shape-basic/src/ShapeRenderable.ts +++ b/src/shapes/kittik-shape-basic/src/ShapeRenderable.ts @@ -1,5 +1,5 @@ -import { Canvas } from 'terminal-canvas'; -import { Shape } from './Shape'; +import type { Canvas } from 'terminal-canvas'; +import type { Shape } from './Shape'; export interface ShapeRenderable extends Shape { render: (canvas: T) => void diff --git a/src/shapes/kittik-shape-code/src/Code.ts b/src/shapes/kittik-shape-code/src/Code.ts index f2a62e4..c8997c8 100644 --- a/src/shapes/kittik-shape-code/src/Code.ts +++ b/src/shapes/kittik-shape-code/src/Code.ts @@ -1,7 +1,8 @@ -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import { Canvas } from 'terminal-canvas'; -import { CodeObject } from './CodeObject'; -import { CodeOptions } from './CodeOptions'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Canvas } from 'terminal-canvas'; +import type { CodeObject } from './CodeObject'; +import type { CodeOptions } from './CodeOptions'; import { DEFAULT_THEME } from './themes/default'; import { js_beautify as beautify } from 'js-beautify'; import redeyed from 'redeyed'; @@ -33,7 +34,7 @@ export class Code extends Shape implements CodeOptions, ShapeRenderable { let codeSplits: string[] = []; try { codeSplits = redeyed(this.text, DEFAULT_THEME).splits; - } catch (error) { + } catch (error: unknown) { codeSplits = [this.text]; } diff --git a/src/shapes/kittik-shape-code/src/CodeObject.ts b/src/shapes/kittik-shape-code/src/CodeObject.ts index a1e93f3..7293379 100644 --- a/src/shapes/kittik-shape-code/src/CodeObject.ts +++ b/src/shapes/kittik-shape-code/src/CodeObject.ts @@ -1,4 +1,4 @@ -import { CodeOptions } from './CodeOptions'; -import { ShapeObject } from 'kittik-shape-basic'; +import type { CodeOptions } from './CodeOptions'; +import type { ShapeObject } from 'kittik-shape-basic'; export type CodeObject = ShapeObject<'Code', CodeOptions>; diff --git a/src/shapes/kittik-shape-code/src/CodeOptions.ts b/src/shapes/kittik-shape-code/src/CodeOptions.ts index 5c46b7d..a5b7150 100644 --- a/src/shapes/kittik-shape-code/src/CodeOptions.ts +++ b/src/shapes/kittik-shape-code/src/CodeOptions.ts @@ -1,3 +1,3 @@ -import { ShapeOptions } from 'kittik-shape-basic'; +import type { ShapeOptions } from 'kittik-shape-basic'; export type CodeOptions = ShapeOptions; diff --git a/src/shapes/kittik-shape-fig-text/spec/FigText.spec.ts b/src/shapes/kittik-shape-fig-text/spec/FigText.spec.ts index 19662a7..788666c 100644 --- a/src/shapes/kittik-shape-fig-text/spec/FigText.spec.ts +++ b/src/shapes/kittik-shape-fig-text/spec/FigText.spec.ts @@ -1,4 +1,5 @@ -import { FigText, FigTextOptions } from '../src/FigText'; +import type { FigTextOptions } from '../src/FigText'; +import { FigText } from '../src/FigText'; import { Canvas } from 'terminal-canvas'; describe('fig text shape', () => { diff --git a/src/shapes/kittik-shape-fig-text/src/FigText.ts b/src/shapes/kittik-shape-fig-text/src/FigText.ts index a8f3f1a..6d07e87 100644 --- a/src/shapes/kittik-shape-fig-text/src/FigText.ts +++ b/src/shapes/kittik-shape-fig-text/src/FigText.ts @@ -1,8 +1,10 @@ -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import figlet, { Fonts, KerningMethods, PrintDirection } from 'figlet'; -import { Canvas } from 'terminal-canvas'; -import { FigTextObject } from './FigTextObject'; -import { FigTextOptions } from './FigTextOptions'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Fonts, KerningMethods, PrintDirection } from 'figlet'; +import figlet from 'figlet'; +import type { Canvas } from 'terminal-canvas'; +import type { FigTextObject } from './FigTextObject'; +import type { FigTextOptions } from './FigTextOptions'; export { FigTextObject } from './FigTextObject'; export { FigTextOptions } from './FigTextOptions'; diff --git a/src/shapes/kittik-shape-fig-text/src/FigTextObject.ts b/src/shapes/kittik-shape-fig-text/src/FigTextObject.ts index 1a6b1dd..0844f59 100644 --- a/src/shapes/kittik-shape-fig-text/src/FigTextObject.ts +++ b/src/shapes/kittik-shape-fig-text/src/FigTextObject.ts @@ -1,4 +1,4 @@ -import { FigTextOptions } from './FigTextOptions'; -import { ShapeObject } from 'kittik-shape-basic'; +import type { FigTextOptions } from './FigTextOptions'; +import type { ShapeObject } from 'kittik-shape-basic'; export type FigTextObject = ShapeObject<'FigText', FigTextOptions>; diff --git a/src/shapes/kittik-shape-fig-text/src/FigTextOptions.ts b/src/shapes/kittik-shape-fig-text/src/FigTextOptions.ts index 9f953f7..71a4c6d 100644 --- a/src/shapes/kittik-shape-fig-text/src/FigTextOptions.ts +++ b/src/shapes/kittik-shape-fig-text/src/FigTextOptions.ts @@ -1,4 +1,4 @@ -import { Options } from 'figlet'; -import { ShapeOptions } from 'kittik-shape-basic'; +import type { Options } from 'figlet'; +import type { ShapeOptions } from 'kittik-shape-basic'; export interface FigTextOptions extends ShapeOptions, Options { } diff --git a/src/shapes/kittik-shape-image/spec/Image.spec.ts b/src/shapes/kittik-shape-image/spec/Image.spec.ts index ae78cad..0154bc9 100644 --- a/src/shapes/kittik-shape-image/spec/Image.spec.ts +++ b/src/shapes/kittik-shape-image/spec/Image.spec.ts @@ -1,4 +1,5 @@ -import { Image, ImageOptions } from '../src/Image'; +import type { ImageOptions } from '../src/Image'; +import { Image } from '../src/Image'; import { Canvas } from 'terminal-canvas'; import path from 'path'; diff --git a/src/shapes/kittik-shape-image/src/Image.ts b/src/shapes/kittik-shape-image/src/Image.ts index 8047631..d158811 100644 --- a/src/shapes/kittik-shape-image/src/Image.ts +++ b/src/shapes/kittik-shape-image/src/Image.ts @@ -1,7 +1,8 @@ -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import { Canvas } from 'terminal-canvas'; -import { ImageObject } from './ImageObject'; -import { ImageOptions } from './ImageOptions'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Canvas } from 'terminal-canvas'; +import type { ImageObject } from './ImageObject'; +import type { ImageOptions } from './ImageOptions'; import fs from 'fs'; import path from 'path'; diff --git a/src/shapes/kittik-shape-image/src/ImageObject.ts b/src/shapes/kittik-shape-image/src/ImageObject.ts index 31081a5..a76ad18 100644 --- a/src/shapes/kittik-shape-image/src/ImageObject.ts +++ b/src/shapes/kittik-shape-image/src/ImageObject.ts @@ -1,4 +1,4 @@ -import { ImageOptions } from './ImageOptions'; -import { ShapeObject } from 'kittik-shape-basic'; +import type { ImageOptions } from './ImageOptions'; +import type { ShapeObject } from 'kittik-shape-basic'; export type ImageObject = ShapeObject<'Image', ImageOptions>; diff --git a/src/shapes/kittik-shape-image/src/ImageOptions.ts b/src/shapes/kittik-shape-image/src/ImageOptions.ts index a71cd8b..da7706d 100644 --- a/src/shapes/kittik-shape-image/src/ImageOptions.ts +++ b/src/shapes/kittik-shape-image/src/ImageOptions.ts @@ -1,4 +1,4 @@ -import { ShapeOptions } from 'kittik-shape-basic'; +import type { ShapeOptions } from 'kittik-shape-basic'; export interface ImageOptions extends ShapeOptions { image: string diff --git a/src/shapes/kittik-shape-rectangle/src/Rectangle.ts b/src/shapes/kittik-shape-rectangle/src/Rectangle.ts index 1468983..b12191f 100644 --- a/src/shapes/kittik-shape-rectangle/src/Rectangle.ts +++ b/src/shapes/kittik-shape-rectangle/src/Rectangle.ts @@ -1,7 +1,8 @@ -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import { Canvas } from 'terminal-canvas'; -import { RectangleObject } from './RectangleObject'; -import { RectangleOptions } from './RectangleOptions'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Canvas } from 'terminal-canvas'; +import type { RectangleObject } from './RectangleObject'; +import type { RectangleOptions } from './RectangleOptions'; export { RectangleObject } from './RectangleObject'; export { RectangleOptions } from './RectangleOptions'; diff --git a/src/shapes/kittik-shape-rectangle/src/RectangleObject.ts b/src/shapes/kittik-shape-rectangle/src/RectangleObject.ts index d3723b9..9b895b0 100644 --- a/src/shapes/kittik-shape-rectangle/src/RectangleObject.ts +++ b/src/shapes/kittik-shape-rectangle/src/RectangleObject.ts @@ -1,4 +1,4 @@ -import { RectangleOptions } from './RectangleOptions'; -import { ShapeObject } from 'kittik-shape-basic'; +import type { RectangleOptions } from './RectangleOptions'; +import type { ShapeObject } from 'kittik-shape-basic'; export type RectangleObject = ShapeObject<'Rectangle', RectangleOptions>; diff --git a/src/shapes/kittik-shape-rectangle/src/RectangleOptions.ts b/src/shapes/kittik-shape-rectangle/src/RectangleOptions.ts index 07adb05..24d5218 100644 --- a/src/shapes/kittik-shape-rectangle/src/RectangleOptions.ts +++ b/src/shapes/kittik-shape-rectangle/src/RectangleOptions.ts @@ -1,3 +1,3 @@ -import { ShapeOptions } from 'kittik-shape-basic'; +import type { ShapeOptions } from 'kittik-shape-basic'; export type RectangleOptions = ShapeOptions; diff --git a/src/shapes/kittik-shape-text/spec/Text.spec.ts b/src/shapes/kittik-shape-text/spec/Text.spec.ts index 8ed9171..7ae9ffc 100644 --- a/src/shapes/kittik-shape-text/spec/Text.spec.ts +++ b/src/shapes/kittik-shape-text/spec/Text.spec.ts @@ -1,6 +1,6 @@ import { Canvas } from 'terminal-canvas'; import { Text } from '../src/Text'; -import { TextOptions } from '../src/TextOptions'; +import type { TextOptions } from '../src/TextOptions'; describe('text shape', () => { it('should properly get actual width of the shape', () => { diff --git a/src/shapes/kittik-shape-text/src/Text.ts b/src/shapes/kittik-shape-text/src/Text.ts index 44a24f2..ea8c890 100644 --- a/src/shapes/kittik-shape-text/src/Text.ts +++ b/src/shapes/kittik-shape-text/src/Text.ts @@ -1,7 +1,8 @@ -import { Shape, ShapeRenderable } from 'kittik-shape-basic'; -import { Canvas } from 'terminal-canvas'; -import { TextObject } from './TextObject'; -import { TextOptions } from './TextOptions'; +import type { ShapeRenderable } from 'kittik-shape-basic'; +import { Shape } from 'kittik-shape-basic'; +import type { Canvas } from 'terminal-canvas'; +import type { TextObject } from './TextObject'; +import type { TextOptions } from './TextOptions'; export { TextObject } from './TextObject'; export { TextOptions } from './TextOptions'; diff --git a/src/shapes/kittik-shape-text/src/TextObject.ts b/src/shapes/kittik-shape-text/src/TextObject.ts index 86b79c7..682bd45 100644 --- a/src/shapes/kittik-shape-text/src/TextObject.ts +++ b/src/shapes/kittik-shape-text/src/TextObject.ts @@ -1,4 +1,4 @@ -import { ShapeObject } from 'kittik-shape-basic'; -import { TextOptions } from './TextOptions'; +import type { ShapeObject } from 'kittik-shape-basic'; +import type { TextOptions } from './TextOptions'; export type TextObject = ShapeObject<'Text', TextOptions>; diff --git a/src/shapes/kittik-shape-text/src/TextOptions.ts b/src/shapes/kittik-shape-text/src/TextOptions.ts index bb52631..fb15a6b 100644 --- a/src/shapes/kittik-shape-text/src/TextOptions.ts +++ b/src/shapes/kittik-shape-text/src/TextOptions.ts @@ -1,4 +1,4 @@ -import { ShapeOptions } from 'kittik-shape-basic'; +import type { ShapeOptions } from 'kittik-shape-basic'; export interface TextOptions extends ShapeOptions { align: 'left' | 'center' | 'right'