GregBrimble/cf-workers-typescript-template

View on GitHub

Showing 22 of 22 total issues

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

describe("the front-end", () => {
  beforeAll(async () => {
    await page.goto("http://localhost:8787/");
  });

Severity: Major
Found in packages/e2e/__tests__/index.test.ts and 1 other location - About 1 hr to fix
packages/e2e/__tests__/index.test.ts on lines 17..25

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

describe("the back-end", () => {
  beforeAll(async () => {
    await page.goto("http://localhost:8787/hello");
  });

Severity: Major
Found in packages/e2e/__tests__/index.test.ts and 1 other location - About 1 hr to fix
packages/e2e/__tests__/index.test.ts on lines 7..15

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 registerValidSW has 31 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function registerValidSW(swUrl: string, config?: Config) {
  navigator.serviceWorker
    .register(swUrl)
    .then((registration) => {
      registration.onupdatefound = () => {
Severity: Minor
Found in packages/client/src/serviceWorker.ts - About 1 hr to fix

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

    describe("the universe", () => {
      it("can do math", () => {
        expect(2 + 2).toBe(4);
      });
    });
    Severity: Minor
    Found in packages/e2e/__tests__/index.test.ts and 1 other location - About 30 mins to fix
    packages/server/src/index.test.ts on lines 1..5

    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

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

    describe("the universe", () => {
      it("can do math", () => {
        expect(2 + 2).toBe(4);
      });
    });
    Severity: Minor
    Found in packages/server/src/index.test.ts and 1 other location - About 30 mins to fix
    packages/e2e/__tests__/index.test.ts on lines 1..5

    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

    Spaces after list markers
    Open

    1.  Update `/src/types.d.ts`:
    Severity: Info
    Found in packages/server/README.md by markdownlint

    MD030 - Spaces after list markers

    Tags: ol, ul, whitespace

    Aliases: list-marker-space

    Parameters: ulsingle, olsingle, ulmulti, olmulti (number, default 1)

    This rule checks for the number of spaces between a list marker (e.g. '-', '*', '+' or '1.') and the text of the list item.

    The number of spaces checked for depends on the document style in use, but the default is 1 space after any list marker:

    * Foo
    * Bar
    * Baz
    
    1. Foo
    1. Bar
    1. Baz
    
    1. Foo
       * Bar
    1. Baz

    A document style may change the number of spaces after unordered list items and ordered list items independently, as well as based on whether the content of every item in the list consists of a single paragraph, or multiple paragraphs (including sub-lists and code blocks).

    For example, the style guide at http://www.cirosantilli.com/markdown-styleguide/#spaces-after-marker specifies that 1 space after the list marker should be used if every item in the list fits within a single paragraph, but to use 2 or 3 spaces (for ordered and unordered lists respectively) if there are multiple paragraphs of content inside the list:

    * Foo
    * Bar
    * Baz
    
    vs.
    
    *   Foo
    
        Second paragraph
    
    *   Bar
    
    or
    
    1.  Foo
    
        Second paragraph
    
    1.  Bar

    To fix this, ensure the correct number of spaces are used after list marker for your selected document style.

    Code block style
    Open

          ```toml
    Severity: Info
    Found in README.md by markdownlint

    Inconsistent indentation for list items at the same level
    Open

      - `npm run test:server`
    Severity: Info
    Found in README.md by markdownlint

    MD005 - Inconsistent indentation for list items at the same level

    Tags: bullet, ul, indentation

    Aliases: list-indent

    This rule is triggered when list items are parsed as being at the same level, but don't have the same indentation:

    * Item 1
        * Nested Item 1
        * Nested Item 2
       * A misaligned item

    Usually this rule will be triggered because of a typo. Correct the indentation for the list to fix it:

    * Item 1
      * Nested Item 1
      * Nested Item 2
      * Nested Item 3

    Inconsistent indentation for list items at the same level
    Open

      - `npm run test:e2e`
    Severity: Info
    Found in README.md by markdownlint

    MD005 - Inconsistent indentation for list items at the same level

    Tags: bullet, ul, indentation

    Aliases: list-indent

    This rule is triggered when list items are parsed as being at the same level, but don't have the same indentation:

    * Item 1
        * Nested Item 1
        * Nested Item 2
       * A misaligned item

    Usually this rule will be triggered because of a typo. Correct the indentation for the list to fix it:

    * Item 1
      * Nested Item 1
      * Nested Item 2
      * Nested Item 3

    Unordered list indentation
    Open

       - Find available versions with `nvm ls-remote`
    Severity: Info
    Found in README.md by markdownlint

    MD007 - Unordered list indentation

    Tags: bullet, ul, indentation

    Aliases: ul-indent

    Parameters: indent (number; default 2)

    This rule is triggered when list items are not indented by the configured number of spaces (default: 2).

    Example:

    * List item
       * Nested list item indented by 3 spaces

    Corrected Example:

    * List item
      * Nested list item indented by 2 spaces

    Rationale (2 space indent): indenting by 2 spaces allows the content of a nested list to be in line with the start of the content of the parent list when a single space is used after the list marker.

    Rationale (4 space indent): Same indent as code blocks, simpler for editors to implement. See http://www.cirosantilli.com/markdown-styleguide/#indented-lists for more information.

    In addition, this is a compatibility issue with multi-markdown parsers, which require a 4 space indents. See http://support.markedapp.com/discussions/problems/21-sub-lists-not-indenting for a description of the problem.

    Inconsistent indentation for list items at the same level
    Open

      - `npm run test:client`
    Severity: Info
    Found in README.md by markdownlint

    MD005 - Inconsistent indentation for list items at the same level

    Tags: bullet, ul, indentation

    Aliases: list-indent

    This rule is triggered when list items are parsed as being at the same level, but don't have the same indentation:

    * Item 1
        * Nested Item 1
        * Nested Item 2
       * A misaligned item

    Usually this rule will be triggered because of a typo. Correct the indentation for the list to fix it:

    * Item 1
      * Nested Item 1
      * Nested Item 2
      * Nested Item 3

    Unordered list indentation
    Open

          - Find existing namespaces with `wrangler kv:namespace list`
    Severity: Info
    Found in README.md by markdownlint

    MD007 - Unordered list indentation

    Tags: bullet, ul, indentation

    Aliases: ul-indent

    Parameters: indent (number; default 2)

    This rule is triggered when list items are not indented by the configured number of spaces (default: 2).

    Example:

    * List item
       * Nested list item indented by 3 spaces

    Corrected Example:

    * List item
      * Nested list item indented by 2 spaces

    Rationale (2 space indent): indenting by 2 spaces allows the content of a nested list to be in line with the start of the content of the parent list when a single space is used after the list marker.

    Rationale (4 space indent): Same indent as code blocks, simpler for editors to implement. See http://www.cirosantilli.com/markdown-styleguide/#indented-lists for more information.

    In addition, this is a compatibility issue with multi-markdown parsers, which require a 4 space indents. See http://support.markedapp.com/discussions/problems/21-sub-lists-not-indenting for a description of the problem.

    Emphasis used instead of a header
    Open

    **And now, with end-to-end tests thanks to the new [`wrangler dev`](https://github.com/cloudflare/wrangler#-dev) command and [Playwright](https://playwright.dev/)! ✨**
    Severity: Info
    Found in README.md by markdownlint

    MD036 - Emphasis used instead of a header

    Tags: headers, emphasis

    Parameters: punctuation (string; default ".,;:!?")

    Aliases: no-emphasis-as-header

    This check looks for instances where emphasized (i.e. bold or italic) text is used to separate sections, where a header should be used instead:

    **My document**
    
    Lorem ipsum dolor sit amet...
    
    _Another section_
    
    Consectetur adipiscing elit, sed do eiusmod.

    To fix this, use markdown headers instead of emphasized text to denote sections:

    # My document
    
    Lorem ipsum dolor sit amet...
    
    ## Another section
    
    Consectetur adipiscing elit, sed do eiusmod.

    Note: this rule looks for single line paragraphs that consist entirely of emphasized text. It won't fire on emphasis used within regular text, multi-line emphasized paragraphs, and paragraphs ending in punctuation. Similarly to rule MD026, you can configure what characters are recognized as punctuation.

    Lists should be surrounded by blank lines
    Open

    1. Mess around with `@cloudflare/kv-asset-handler`: `cd node_modules/@cloudflare/kv-asset-handler; npm run build`
    Severity: Info
    Found in packages/server/README.md by markdownlint

    MD032 - Lists should be surrounded by blank lines

    Tags: bullet, ul, ol, blank_lines

    Aliases: blanks-around-lists

    This rule is triggered when lists (of any kind) are either not preceded or not followed by a blank line:

    Some text
    * Some
    * List
    
    1. Some
    2. List
    Some text

    To fix this, ensure that all lists have a blank line both before and after (except where the block is at the beginning or end of the document):

    Some text
    
    * Some
    * List
    
    1. Some
    2. List
    
    Some text

    Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse lists that don't have blank lines before and after them.

    Note: List items without hanging indents are a violation of this rule; list items with hanging indents are okay:

    * This is
    not okay
    
    * This is
      okay

    Inconsistent indentation for list items at the same level
    Open

      - `npm run lint:fix`
    Severity: Info
    Found in README.md by markdownlint

    MD005 - Inconsistent indentation for list items at the same level

    Tags: bullet, ul, indentation

    Aliases: list-indent

    This rule is triggered when list items are parsed as being at the same level, but don't have the same indentation:

    * Item 1
        * Nested Item 1
        * Nested Item 2
       * A misaligned item

    Usually this rule will be triggered because of a typo. Correct the indentation for the list to fix it:

    * Item 1
      * Nested Item 1
      * Nested Item 2
      * Nested Item 3

    First header should be a top level header
    Open

    ## Available Scripts
    Severity: Info
    Found in packages/client/README.md by markdownlint

    MD002 - First header should be a top level header

    Tags: headers

    Aliases: first-header-h1

    Parameters: level (number; default 1)

    This rule is triggered when the first header in the document isn't a h1 header:

    ## This isn't a H1 header
    
    ### Another header

    The first header in the document should be a h1 header:

    # Start with a H1 header
    
    ## Then use a H2 for subsections

    Spaces after list markers
    Open

        1.  Add KV Namespaces. For example:
    Severity: Info
    Found in packages/server/README.md by markdownlint

    MD030 - Spaces after list markers

    Tags: ol, ul, whitespace

    Aliases: list-marker-space

    Parameters: ulsingle, olsingle, ulmulti, olmulti (number, default 1)

    This rule checks for the number of spaces between a list marker (e.g. '-', '*', '+' or '1.') and the text of the list item.

    The number of spaces checked for depends on the document style in use, but the default is 1 space after any list marker:

    * Foo
    * Bar
    * Baz
    
    1. Foo
    1. Bar
    1. Baz
    
    1. Foo
       * Bar
    1. Baz

    A document style may change the number of spaces after unordered list items and ordered list items independently, as well as based on whether the content of every item in the list consists of a single paragraph, or multiple paragraphs (including sub-lists and code blocks).

    For example, the style guide at http://www.cirosantilli.com/markdown-styleguide/#spaces-after-marker specifies that 1 space after the list marker should be used if every item in the list fits within a single paragraph, but to use 2 or 3 spaces (for ordered and unordered lists respectively) if there are multiple paragraphs of content inside the list:

    * Foo
    * Bar
    * Baz
    
    vs.
    
    *   Foo
    
        Second paragraph
    
    *   Bar
    
    or
    
    1.  Foo
    
        Second paragraph
    
    1.  Bar

    To fix this, ensure the correct number of spaces are used after list marker for your selected document style.

    Code block style
    Open

            ```typescript
    Severity: Info
    Found in packages/server/README.md by markdownlint

    TODO found
    Open

      // TODO: Pretty 500 page
    Severity: Minor
    Found in packages/worker/src/pages.ts by fixme

    TODO found
    Open

        // TODO: Could also be an error thrown by the getAssetFromKV function: https://github.com/cloudflare/kv-asset-handler#return
    Severity: Minor
    Found in packages/worker/src/index.ts by fixme
    Severity
    Category
    Status
    Source
    Language