Skip to content
This repository was archived by the owner on May 28, 2026. It is now read-only.

Ensure text files use lf, not crlf on Windows#146

Open
pbolduc wants to merge 1 commit into
jayminwest:mainfrom
pbolduc:issue-145-line-endings-on-windows
Open

Ensure text files use lf, not crlf on Windows#146
pbolduc wants to merge 1 commit into
jayminwest:mainfrom
pbolduc:issue-145-line-endings-on-windows

Conversation

@pbolduc

@pbolduc pbolduc commented Apr 21, 2026

Copy link
Copy Markdown

Summary

#145 - Fixes line ending issues when cloning repos on Windows, especially when run bun run lint

Changes

  • add * text=auto eol=lf to .gitattributes to ensure all text files use lf as line endings
  • add "lineEnding": "lf" to biome.json to make it explicit even though lf is default

Test plan

  • biome check . passes
  • tsc --noEmit passes
  • bun test passes
  • Manual verification (if applicable)

Remarks

I noticed on main, these lints are broken unrelated to my PR.


$ biome check .
src\watchdog\daemon.test.ts:2313:15 lint/complexity/useLiteralKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  i The computed expression can be simplified without the use of a string literal.

    2311 │                                      logPath: "/fake/one/stdout.log",
    2312 │                                      stop: () => {
  > 2313 │                                              stopped["tailer1"] = true;
         │                                                      ^^^^^^^^^
    2314 │                                      },
    2315 │                              },

  i Unsafe fix: Use a literal key instead.

    2311 2311 │                                         logPath: "/fake/one/stdout.log",
    2312 2312 │                                         stop: () => {
    2313      │ - → → → → → → stopped["tailer1"]·=·true;
         2313 │ + → → → → → → stopped.tailer1·=·true;
    2314 2314 │                                         },
    2315 2315 │                                 },


src\watchdog\daemon.test.ts:2323:15 lint/complexity/useLiteralKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  i The computed expression can be simplified without the use of a string literal.

    2321 │                                      logPath: "/fake/two/stdout.log",
    2322 │                                      stop: () => {
  > 2323 │                                              stopped["tailer2"] = true;
         │                                                      ^^^^^^^^^
    2324 │                                      },
    2325 │                              },

  i Unsafe fix: Use a literal key instead.

    2321 2321 │                                         logPath: "/fake/two/stdout.log",
    2322 2322 │                                         stop: () => {
    2323      │ - → → → → → → stopped["tailer2"]·=·true;
         2323 │ + → → → → → → stopped.tailer2·=·true;
    2324 2324 │                                         },
    2325 2325 │                                 },


src\watchdog\daemon.test.ts:2353:18 lint/complexity/useLiteralKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  i The computed expression can be simplified without the use of a string literal.

    2351 │              daemon.stop();
    2352 │
  > 2353 │              expect(stopped["tailer1"]).toBe(true);
         │                             ^^^^^^^^^
    2354 │              expect(stopped["tailer2"]).toBe(true);
    2355 │              expect(registry.size).toBe(0);

  i Unsafe fix: Use a literal key instead.

    2351 2351 │                 daemon.stop();
    2352 2352 │
    2353      │ - → → expect(stopped["tailer1"]).toBe(true);
         2353 │ + → → expect(stopped.tailer1).toBe(true);
    2354 2354 │                 expect(stopped["tailer2"]).toBe(true);
    2355 2355 │                 expect(registry.size).toBe(0);


src\watchdog\daemon.test.ts:2354:18 lint/complexity/useLiteralKeys  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  i The computed expression can be simplified without the use of a string literal.

    2353 │              expect(stopped["tailer1"]).toBe(true);
  > 2354 │              expect(stopped["tailer2"]).toBe(true);
         │                             ^^^^^^^^^
    2355 │              expect(registry.size).toBe(0);
    2356 │      });

  i Unsafe fix: Use a literal key instead.

    2352 2352 │
    2353 2353 │                 expect(stopped["tailer1"]).toBe(true);
    2354      │ - → → expect(stopped["tailer2"]).toBe(true);
         2354 │ + → → expect(stopped.tailer2).toBe(true);
    2355 2355 │                 expect(registry.size).toBe(0);
    2356 2356 │         });
    
    ```

@pbolduc
pbolduc requested a review from jayminwest as a code owner April 21, 2026 22:35
@jayminwest

Copy link
Copy Markdown
Owner

Thank you for contributing to Overstory — I genuinely appreciate the time you put into this. I've wound down active maintenance and am archiving the repo, so I won't be able to merge it here. The project stays MIT-licensed and there are 200+ forks, so please feel free to carry this forward in a fork. For new work, Warren is overstory's successor. Thanks again. 🙏

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants