leonitousconforti/tinyburg

View on GitHub

Showing 824 of 824 total issues

Similar blocks of code found in 3 locations. Consider refactoring.
Open

    {
        name: "Greek Temple Lobby",
        type: FloorType.Lobby,
        character: "artmajor",
        animations: [
Severity: Major
Found in packages/nucleus/src/data/floors.ts and 2 other locations - About 1 hr to fix
packages/nucleus/src/data/floors.ts on lines 247..255
packages/nucleus/src/data/floors.ts on lines 314..322

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 71.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Function installAndRun has 44 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function installAndRun(logger, packageName, packageVersion, packageBinName, packageBinArgs, lockFilePath = process.env[INSTALL_RUN_LOCKFILE_PATH_VARIABLE]) {
    const rushJsonFolder = findRushJsonFolder();
    const rushCommonFolder = path__WEBPACK_IMPORTED_MODULE_3__.join(rushJsonFolder, 'common');
    const rushTempFolder = _getRushTempFolder(rushCommonFolder);
    const packageInstallFolder = _ensureAndJoinPath(rushTempFolder, 'install-run', `${packageName}@${packageVersion}`);
Severity: Minor
Found in common/scripts/install-run.js - About 1 hr to fix

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

    export const whichSaveIsBetter = async function <T extends INimblebitJsonSave | DecompressedSave>(
        save1: T,
        save2: T,
        forceLoadStructs: boolean = false,
        logger: ILogger = debug
    Severity: Minor
    Found in packages/nucleus/src/compare-saves.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 _waitForDependencies has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

        private async _waitForDependencies<T extends DependencyLoader>(
            dependencyLoader: T,
            retries: number,
            waitMs: number
        ): Promise<ReturnType<T>> {
    Severity: Minor
    Found in packages/insight/src/agents/base-frida-agent.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

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        {
            name: "Flyboard Acrobatics",
            hidden: true,
            fwcolors: [],
            animations: [
    Severity: Major
    Found in packages/nucleus/src/data/roofs.ts and 1 other location - About 1 hr to fix
    packages/nucleus/src/data/roofs.ts on lines 316..324

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 68.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        {
            name: "Monster Truck Arena",
            hidden: true,
            fwcolors: [],
            animations: [
    Severity: Major
    Found in packages/nucleus/src/data/roofs.ts and 1 other location - About 1 hr to fix
    packages/nucleus/src/data/roofs.ts on lines 345..353

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 68.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Function _run has 40 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function _run() {
        const [nodePath /* Ex: /bin/node */, scriptPath /* /repo/common/scripts/install-run-rush.js */, ...packageBinArgs /* [build, --to, myproject] */] = process.argv;
        // Detect if this script was directly invoked, or if the install-run-rushx script was invokved to select the
        // appropriate binary inside the rush package to run
        const scriptName = path__WEBPACK_IMPORTED_MODULE_0__.basename(scriptPath);
    Severity: Minor
    Found in common/scripts/install-run-rush.js - About 1 hr to fix

      Function concatenationSubRoutine has 40 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      export const concatenationSubRoutine = function <T extends GenericBlocks, U extends GenericJsonSave<T>>(
          jsonSave: U,
          blocksToUse: T,
          log: ILogger = debug
      ): DecompressedSave {
      Severity: Minor
      Found in packages/nucleus/src/parsing-structs/parsing-subroutines.ts - About 1 hr to fix

        Function retrieveData has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
        Open

            public retrieveData() {
                // Extract the version of the game
                const version = this.dependencies.AppUtilClass.method<Il2Cpp.String>("VersionString").invoke().content;
        
                // Extract the FloorType enum fields
        Severity: Minor
        Found in packages/insight/src/agents/get-floor-data.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

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        export interface IFriendSnapshotList extends ISuccessFoundNotFound, Omit<INimblebitResponse, "success"> {
            saves: [
                {
                    /**
                     * Save version. Save versions are integer numbers starting at 0 and
        Severity: Major
        Found in packages/nucleus/src/endpoints/friends.ts and 1 other location - About 1 hr to fix
        packages/nucleus/src/endpoints/snapshots.ts on lines 43..60

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 66.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        export interface IRetrieveSnapshotList extends ISuccessFoundNotFound, Omit<INimblebitResponse, "success"> {
            saves: [
                {
                    /**
                     * Save version that this snapshot was from. Save versions are
        Severity: Major
        Found in packages/nucleus/src/endpoints/snapshots.ts and 1 other location - About 1 hr to fix
        packages/nucleus/src/endpoints/friends.ts on lines 59..75

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 66.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        export const isCollection = (object: Il2Cpp.Object): boolean => {
            const systemCollectionInterface = Il2Cpp.corlib.class("System.Collections.ICollection");
            return object.class.isSubclassOf(systemCollectionInterface, true);
        };
        Severity: Major
        Found in packages/insight/src/helpers/is.ts and 3 other locations - About 1 hr to fix
        packages/insight/src/helpers/is.ts on lines 3..6
        packages/insight/src/helpers/is.ts on lines 8..11
        packages/insight/src/helpers/is.ts on lines 13..16

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        export const isList = (object: Il2Cpp.Object): boolean => {
            const systemListClass = Il2Cpp.corlib.class("System.Collections.IList");
            return object.class.isSubclassOf(systemListClass, true);
        };
        Severity: Major
        Found in packages/insight/src/helpers/is.ts and 3 other locations - About 1 hr to fix
        packages/insight/src/helpers/is.ts on lines 3..6
        packages/insight/src/helpers/is.ts on lines 13..16
        packages/insight/src/helpers/is.ts on lines 18..21

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        export const isEnumerable = (object: Il2Cpp.Object): boolean => {
            const systemEnumerableInterface = Il2Cpp.corlib.class("System.Collections.IEnumerable");
            return object.class.isSubclassOf(systemEnumerableInterface, true);
        };
        Severity: Major
        Found in packages/insight/src/helpers/is.ts and 3 other locations - About 1 hr to fix
        packages/insight/src/helpers/is.ts on lines 8..11
        packages/insight/src/helpers/is.ts on lines 13..16
        packages/insight/src/helpers/is.ts on lines 18..21

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                const execId: Readonly<MobySchemas.IdResponse> = yield* execs.container({
                    id: containerId,
                    execConfig: {
                        AttachStderr: true,
                        AttachStdout: true,
        packages/architect/src/docker-helpers/5-container-helpers.ts on lines 46..54

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                const execId: Readonly<MobySchemas.IdResponse> = yield* execs.container({
                    id: containerId,
                    execConfig: {
                        AttachStderr: true,
                        AttachStdout: true,
        packages/architect/src/docker-helpers/5-container-helpers.ts on lines 24..32

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        export const isArray = (object: Il2Cpp.Object): boolean => {
            const systemArrayClass = Il2Cpp.corlib.class("System.Array");
            return object.class.isSubclassOf(systemArrayClass, true);
        };
        Severity: Major
        Found in packages/insight/src/helpers/is.ts and 3 other locations - About 1 hr to fix
        packages/insight/src/helpers/is.ts on lines 3..6
        packages/insight/src/helpers/is.ts on lines 8..11
        packages/insight/src/helpers/is.ts on lines 18..21

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 65.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Function retrieveData has 37 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public retrieveData() {
                // Extract the version of the game
                const version = this.dependencies.AppUtilClass.method<Il2Cpp.String>("VersionString").invoke().content;
        
                // Extract the FloorType enum fields
        Severity: Minor
        Found in packages/insight/src/agents/get-floor-data.ts - About 1 hr to fix

          Function _waitForDependencies has 37 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              private async _waitForDependencies<T extends DependencyLoader>(
                  dependencyLoader: T,
                  retries: number,
                  waitMs: number
              ): Promise<ReturnType<T>> {
          Severity: Minor
          Found in packages/insight/src/agents/base-frida-agent.ts - About 1 hr to fix

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

                public sort(compare: (a: NodeData, b: NodeData) => boolean): DoublyLinkedList<NodeData> {
                    if (this._head === undefined || this._tail === undefined) {
                        return this;
                    }
                    if (this.length < 2) {
            Severity: Minor
            Found in packages/bitprints/src/doubly-linked-list.ts - About 1 hr to fix
              Severity
              Category
              Status
              Source
              Language