Hi-Level/three-csg

View on GitHub

Showing 52 of 52 total issues

Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
Open

    for (let i = 0; i < csg.polygons.length; i++) {
Severity: Minor
Found in src/CSG.ts by tslint

Rule: prefer-for-of

Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

Rationale

A for(... of ...) loop is easier to implement and read when the index is not needed.

Config

Not configurable.

Examples
"prefer-for-of": true

For more information see this page.

Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
Open

    for (let i = 0; i < polygons.length; i++) {
Severity: Minor
Found in src/Node.ts by tslint

Rule: prefer-for-of

Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

Rationale

A for(... of ...) loop is easier to implement and read when the index is not needed.

Config

Not configurable.

Examples
"prefer-for-of": true

For more information see this page.

Forbidden bitwise operation
Open

    const triCount = (index.length / 3) | 0;
Severity: Minor
Found in src/CSG.ts by tslint

Rule: no-bitwise

Disallows bitwise operators.

Specifically, the following bitwise operators are banned: &, &=, |, |=, ^, ^=, <<, <<=, >>, >>=, >>>, >>>=, and ~. This rule does not ban the use of & and | for intersection and union types.

Rationale

Bitwise operators are often typos - for example bool1 & bool2 instead of bool1 && bool2. They also can be an indicator of overly clever code which decreases maintainability.

Config

Not configurable.

Examples
"no-bitwise": true

For more information see this page.

Multiple variable declarations in the same statement are forbidden
Open

let camera: THREE.PerspectiveCamera,
  scene: THREE.Scene,
  renderer: THREE.WebGLRenderer,
  results = new Array<THREE.Mesh>();
Severity: Minor
Found in example/example.ts by tslint

Rule: one-variable-per-declaration

Disallows multiple variable definitions in the same declaration statement.

Config

One argument may be optionally provided:

  • ignore-for-loop allows multiple variable definitions in a for loop declaration.
Examples
"one-variable-per-declaration": true
"one-variable-per-declaration": true,ignore-for-loop
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "ignore-for-loop"
    ]
  },
  "minLength": 0,
  "maxLength": 1
}

For more information see this page.

Forbidden bitwise operation
Open

          if ((ti | tj) == SPANNING) {
Severity: Minor
Found in src/Plane.ts by tslint

Rule: no-bitwise

Disallows bitwise operators.

Specifically, the following bitwise operators are banned: &, &=, |, |=, ^, ^=, <<, <<=, >>, >>=, >>>, >>>=, and ~. This rule does not ban the use of & and | for intersection and union types.

Rationale

Bitwise operators are often typos - for example bool1 & bool2 instead of bool1 && bool2. They also can be an indicator of overly clever code which decreases maintainability.

Config

Not configurable.

Examples
"no-bitwise": true

For more information see this page.

Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
Open

    for (let i = 0; i < this.polygons.length; i++) this.polygons[i].flip();
Severity: Minor
Found in src/Node.ts by tslint

Rule: prefer-for-of

Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

Rationale

A for(... of ...) loop is easier to implement and read when the index is not needed.

Config

Not configurable.

Examples
"prefer-for-of": true

For more information see this page.

unused expression, expected an assignment or function call
Open

    colors && geom.setAttribute('color', new BufferAttribute(colors.array, 3));
Severity: Minor
Found in src/CSG.ts by tslint

Rule: no-unused-expression

Disallows unused expression statements.

Unused expressions are expression statements which are not assignments or function calls (and thus usually no-ops).

Rationale

Detects potential errors where an assignment or function call was intended.

Config

Three arguments may be optionally provided:

  • allow-fast-null-checks allows to use logical operators to perform fast null checks and perform method or function calls for side effects (e.g. e && e.preventDefault()).
  • allow-new allows 'new' expressions for side effects (e.g. new ModifyGlobalState();.
  • allow-tagged-template allows tagged templates for side effects (e.g. this.add\foo`;`.
Examples
"no-unused-expression": true
"no-unused-expression": true,allow-fast-null-checks
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "allow-fast-null-checks",
      "allow-new",
      "allow-tagged-template"
    ]
  },
  "minLength": 0,
  "maxLength": 3
}

For more information see this page.

Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
Open

      for (let j = 0; j < p.vertices.length; j++) {
Severity: Minor
Found in src/CSG.ts by tslint

Rule: prefer-for-of

Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

Rationale

A for(... of ...) loop is easier to implement and read when the index is not needed.

Config

Not configurable.

Examples
"prefer-for-of": true

For more information see this page.

Multiple variable declarations in the same statement are forbidden
Open

    let front = new Array<Polygon>(),
      back = new Array<Polygon>();
Severity: Minor
Found in src/Node.ts by tslint

Rule: one-variable-per-declaration

Disallows multiple variable definitions in the same declaration statement.

Config

One argument may be optionally provided:

  • ignore-for-loop allows multiple variable definitions in a for loop declaration.
Examples
"one-variable-per-declaration": true
"one-variable-per-declaration": true,ignore-for-loop
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "ignore-for-loop"
    ]
  },
  "minLength": 0,
  "maxLength": 1
}

For more information see this page.

!= should be !==
Open

          if (ti != BACK) f.push(vi);
Severity: Minor
Found in src/Plane.ts by tslint

Rule: triple-equals

Requires === and !== in place of == and !=.

Config

Two arguments may be optionally provided:

  • "allow-null-check" allows == and != when comparing to null.
  • "allow-undefined-check" allows == and != when comparing to undefined.
Examples
"triple-equals": true
"triple-equals": true,allow-null-check
"triple-equals": true,allow-undefined-check
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "allow-null-check",
      "allow-undefined-check"
    ]
  },
  "minLength": 0,
  "maxLength": 2
}

For more information see this page.

Multiple variable declarations in the same statement are forbidden
Open

        const f = [],
          b = [];
Severity: Minor
Found in src/Plane.ts by tslint

Rule: one-variable-per-declaration

Disallows multiple variable definitions in the same declaration statement.

Config

One argument may be optionally provided:

  • ignore-for-loop allows multiple variable definitions in a for loop declaration.
Examples
"one-variable-per-declaration": true
"one-variable-per-declaration": true,ignore-for-loop
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "ignore-for-loop"
    ]
  },
  "minLength": 0,
  "maxLength": 1
}

For more information see this page.

unused expression, expected an assignment or function call
Open

    color && (this.color = new Vector().copy(color));
Severity: Minor
Found in src/Vertex.ts by tslint

Rule: no-unused-expression

Disallows unused expression statements.

Unused expressions are expression statements which are not assignments or function calls (and thus usually no-ops).

Rationale

Detects potential errors where an assignment or function call was intended.

Config

Three arguments may be optionally provided:

  • allow-fast-null-checks allows to use logical operators to perform fast null checks and perform method or function calls for side effects (e.g. e && e.preventDefault()).
  • allow-new allows 'new' expressions for side effects (e.g. new ModifyGlobalState();.
  • allow-tagged-template allows tagged templates for side effects (e.g. this.add\foo`;`.
Examples
"no-unused-expression": true
"no-unused-expression": true,allow-fast-null-checks
Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "allow-fast-null-checks",
      "allow-new",
      "allow-tagged-template"
    ]
  },
  "minLength": 0,
  "maxLength": 3
}

For more information see this page.

Severity
Category
Status
Source
Language