MartyO256/find-files-by-patterns

View on GitHub
src/directories.ts

Summary

Maintainability
B
4 hrs
Test Coverage

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

export function downwardDirectories(
  startDirectory?: number | string,
  maximumDepth?: number,
): AsyncIterable<string> {
  [startDirectory, maximumDepth] = handleDownwardFilesOverload(
Severity: Major
Found in src/directories.ts and 1 other location - About 1 hr to fix
src/directories.ts on lines 148..160

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 function downwardDirectoriesSync(
  startDirectory?: number | string,
  maximumDepth?: number,
): Iterable<string> {
  [startDirectory, maximumDepth] = handleDownwardFilesOverload(
Severity: Major
Found in src/directories.ts and 1 other location - About 1 hr to fix
src/directories.ts on lines 75..84

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 function upwardDirectories(
  startPath = ".",
  upperBound?: number | string,
): AsyncIterable<string> {
  return filter(overloadedUpwardPaths(startPath, upperBound), isDirectory);
Severity: Minor
Found in src/directories.ts and 1 other location - About 30 mins to fix
src/directories.ts on lines 382..390

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 45.

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 function upwardDirectoriesSync(
  startPath = ".",
  upperBound?: number | string,
): Iterable<string> {
  return filterSync(
Severity: Minor
Found in src/directories.ts and 1 other location - About 30 mins to fix
src/directories.ts on lines 318..323

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 45.

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

This overload and the one on line 47 can be combined into one signature with an optional parameter.
Open

  maximumDepth: number,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 93 can be combined into one signature with an optional parameter.
Open

  startDirectory: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 120 can be combined into one signature with an optional parameter.
Open

  maximumDepth: number,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 268 can be combined into one signature with an optional parameter.
Open

export function upwardDirectories(startPath: string): AsyncIterable<string>;
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 18 can be combined into one signature with an optional parameter.
Open

  maximumDepth: number,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 278 can be combined into one signature with an optional parameter.
Open

  endPath: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 93 can be combined into one signature with an optional parameter.
Open

export function downwardDirectoriesSync(maximumDepth: number): Iterable<string>;
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 278 can be combined into one signature with an optional parameter.
Open

  maximumHeight: number,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 342 can be combined into one signature with an optional parameter.
Open

  maximumHeight: number,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 293 can be combined into one signature taking number | string.
Open

  endPath: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

" should be '
Open

import { dirname, parse, resolve } from "path";
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

This overload and the one on line 107 can be combined into one signature taking number | string.
Open

  startDirectory: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 33 can be combined into one signature taking number | string.
Open

  startDirectory: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 332 can be combined into one signature with an optional parameter.
Open

export function upwardDirectoriesSync(startPath: string): Iterable<string>;
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

" should be '
Open

  } else if (typeof upperBound === "string") {
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

This overload and the one on line 18 can be combined into one signature with an optional parameter.
Open

  startDirectory: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

This overload and the one on line 357 can be combined into one signature taking number | string.
Open

  endPath: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

" should be '
Open

import { filter, filterSync } from "./filter.js";
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

" should be '
Open

  startPath = ".",
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

This overload and the one on line 342 can be combined into one signature with an optional parameter.
Open

  endPath: string,
Severity: Minor
Found in src/directories.ts by tslint

Rule: unified-signatures

Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter.

Notes
  • TypeScript Only

Config

Not configurable.

Examples
"unified-signatures": true

For more information see this page.

" should be '
Open

  return typeof upperBound === "number"
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

" should be '
Open

} from "./files.js";
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

" should be '
Open

import { isDirectory, isDirectorySync } from "./stat.js";
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

" should be '
Open

  startPath = ".",
Severity: Minor
Found in src/directories.ts by tslint

Rule: quotemark

Enforces quote character for string literals.

Notes
  • Has Fix

Config

Five arguments may be optionally provided:

  • "single" enforces single quotes.
  • "double" enforces double quotes.
  • "backtick" enforces backticks.
  • "jsx-single" enforces single quotes for JSX attributes.
  • "jsx-double" enforces double quotes for JSX attributes.
  • "avoid-template" forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if "avoid-escape" is enabled and both single and double quotes are present in the string (the latter option takes precedence).
  • "avoid-escape" allows you to use the "other" quotemark in cases where escaping would normally be required. For example, [true, "double", "avoid-escape"] would not report a failure on the string literal 'Hello "World"'.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "single",
      "double",
      "backtick",
      "jsx-single",
      "jsx-double",
      "avoid-escape",
      "avoid-template"
    ]
  },
  "minLength": 0,
  "maxLength": 5
}

For more information see this page.

There are no issues that match your filters.

Category
Status