Angelmaneuver/command-launcher

View on GitHub

Showing 17 of 60 total issues

File base.ts has 301 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { QuickPickItem }         from 'vscode';
import {
    InputStep,
    MultiStepInput,
}                                from '../../../utils/multiStepInput';
Severity: Minor
Found in src/includes/guide/menu/edit/base.ts - About 3 hrs to fix

    ExtensionSetting has 27 functions (exceeds 20 allowed). Consider refactoring.
    Open

    export class ExtensionSetting extends SettingBase {
        private _commonCommands:    Record<string, unknown>;
        private _commands:          Record<string, unknown>;
        private _enableHistory:     boolean;
        private _keepHistoryNumber: number;
    Severity: Minor
    Found in src/includes/settings/extension.ts - About 3 hrs to fix

      Function setSettingGuide has 66 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          private setSettingGuide(label: string): () => Promise<void> {
              let [key, itemId, additionalTitle, guideGroupId] = ['BaseInputGuide', '', '', this.guideGroupId];
              let optionState: Partial<State>                  = {};
              let args: Array<unknown>                         = [];
              let guide: Guide;
      Severity: Major
      Found in src/includes/guide/menu/edit/base.ts - About 2 hrs to fix

        File extension.ts has 269 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        import { ConfigurationTarget } from 'vscode';
        import * as _                  from 'lodash';
        import { SettingBase }         from './base';
        import { Optional }            from '../utils/base/optional';
        import { LOCATION, Location }  from '../utils/base/type';
        Severity: Minor
        Found in src/includes/settings/extension.ts - About 2 hrs to fix

          Function showInputBox has 58 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              async showInputBox<P extends InputBoxParameters>(
                  { title, step, totalSteps, value, prompt, validate, buttons, shouldResume }: P
              ): Promise<string | (P extends { buttons: (infer I)[]; } ? I : never)> {
                  const disposable: Disposable[] = [];
          
          
          Severity: Major
          Found in src/includes/utils/multiStepInput.ts - About 2 hrs to fix

            Function save has 47 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                protected async save(): Promise<void> {
                    const hierarchy                          = [...this.hierarchy];
                    const pre                                = Optional.ofNullable(hierarchy.pop()).orElseThrow(ReferenceError('Edit target not found...'));
                    const name                               = Optional.ofNullable(this.guideGroupResultSet[this.settings.itemId.name]).orElseNonNullable(pre) as string;
                    const original                           = this.settings.cloneDeep(this.hierarchy, this.location);
            Severity: Minor
            Found in src/includes/guide/menu/edit/base.ts - About 1 hr to fix

              Function setMenuItems has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
              Open

                  private setMenuItems(): void {
                      if (this.isRoot) {
                          this.setRootItems();
                      } else {
                          if (Constant.DATA_TYPE.folder === this.type) {
              Severity: Minor
              Found in src/includes/guide/menu/edit/base.ts - About 1 hr to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function showQuickPick has 39 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  async showQuickPick<T extends QuickPickItem, P extends QuickPickParameters<T>>(
                      { title, step, totalSteps, items, activeItem, placeholder, buttons, shouldResume }: P
                  ): Promise<T | (P extends { buttons: (infer I)[]; } ? I : never)> {
                      const disposable: Disposable[] = [];
              
              
              Severity: Minor
              Found in src/includes/utils/multiStepInput.ts - About 1 hr to fix

                Function getExecute has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    protected getExecute(label: string | undefined): (() => Promise<void>) | undefined {
                        this.initialValue    = undefined;
                        this.state.hierarchy = [...this.hierarchy];
                
                        switch (label) {
                Severity: Minor
                Found in src/includes/guide/menu/edit/base.ts - About 1 hr to fix

                  Function getSurface has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      private getSurface(location: Location, ordered: Record<string, unknown>, other: Record<string, unknown>): void {
                          const records: Record<string, unknown> = this.getLocationRecords(location);
                  
                          Object.keys(records).forEach((key) => {
                              const record = records[key] as Record<string, unknown>;
                  Severity: Minor
                  Found in src/includes/settings/extension.ts - About 1 hr to fix

                    Function setMenuItems has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        private setMenuItems(): void {
                            if (this.isRoot) {
                                this.setRootItems();
                            } else {
                                if (Constant.DATA_TYPE.folder === this.type) {
                    Severity: Minor
                    Found in src/includes/guide/menu/edit/base.ts - About 1 hr to fix

                      Function sort has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                          public sort(hierarchy: Array<string>, location: Location, sortWithName: boolean = true): void {
                              const registerd                         = this.cloneDeep(hierarchy, location);
                              const ordered:  Record<string, unknown> = {};
                              const target                            = this.lookup(hierarchy, location, this.lookupMode.read);
                      
                      
                      Severity: Minor
                      Found in src/includes/settings/extension.ts - About 1 hr to fix

                        Function terminalCommand has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                            private terminalCommand(command: TerminalCommand): (() => Promise<void>) | undefined {
                                const name      = this.activeItem?.label;
                                const questions = Optional.ofNullable(command.questions).orElseNonNullable({});
                                const keys      = Object.keys(questions);
                        
                        
                        Severity: Minor
                        Found in src/includes/guide/menu/base.ts - About 1 hr to fix

                          Function stepThrough has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                          Open

                              private async stepThrough(start: InputStep) {
                                  let step: InputStep | void = start;
                          
                                  while (step) {
                                      this.steps.push(step);
                          Severity: Minor
                          Found in src/includes/utils/multiStepInput.ts - About 45 mins to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Function setSettingGuide has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                          Open

                              private setSettingGuide(label: string): () => Promise<void> {
                                  let [key, itemId, additionalTitle, guideGroupId] = ['BaseInputGuide', '', '', this.guideGroupId];
                                  let optionState: Partial<State>                  = {};
                                  let args: Array<unknown>                         = [];
                                  let guide: Guide;
                          Severity: Minor
                          Found in src/includes/guide/menu/edit/base.ts - About 45 mins to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Function executeTerminalCommand has 5 arguments (exceeds 4 allowed). Consider refactoring.
                          Open

                              name:      string,
                              command:   string,
                              autoRun:   boolean,
                              singleton: boolean,
                              state:     Partial<State>,
                          Severity: Minor
                          Found in src/includes/kickstarter.ts - About 35 mins to fix

                            Function setCommand has 5 arguments (exceeds 4 allowed). Consider refactoring.
                            Open

                                state:     State,
                                base:      string,
                                inputSet:  Record<string, string>,
                                autoRun:   boolean,
                                singleton: boolean,
                            Severity: Minor
                            Found in src/includes/guide/question.ts - About 35 mins to fix
                              Severity
                              Category
                              Status
                              Source
                              Language