Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use oxlint and prettier #48

Merged
merged 1 commit into from
Mar 23, 2025
Merged

feat: use oxlint and prettier #48

merged 1 commit into from
Mar 23, 2025

Conversation

fengmk2
Copy link
Member

@fengmk2 fengmk2 commented Mar 23, 2025

Summary by CodeRabbit

  • Chores
    • Updated dependencies, automation workflows, and build scripts to streamline development and maintain consistency.
  • New Features
    • Integrated an automated pre-commit hook to ensure code quality with every change.
  • Style
    • Standardized and improved code formatting and readability across configuration, source, and test files.

@fengmk2 fengmk2 requested a review from Copilot March 23, 2025 12:54
Copy link

coderabbitai bot commented Mar 23, 2025

Walkthrough

This pull request removes legacy ESLint configuration files and revises formatting in various project files. New configuration files for linting and formatting (.oxlintrc.json, .prettierignore, .prettierrc) have been added while the branch specifications in GitHub workflows have been standardized. Dependency versions in package.json have been updated and additional tools like husky and lint-staged are now integrated to enforce code quality during commits. Several files across the project and test fixtures have received cosmetic formatting improvements, including changes to type-only imports and configuration object styles.

Changes

File(s) Change Summary
.eslintignore, .eslintrc Removed ESLint configuration files that previously ignored specific directories and extended ESLint rules.
.github/workflows/nodejs.yml, .github/workflows/release.yml Standardized branch formatting by removing extra whitespace around branch names.
.husky/pre-commit Added npx lint-staged command to run linting tasks before commits.
.oxlintrc.json, .prettierignore, .prettierrc Introduced new linting and formatting configuration files with specified rules and ignore patterns.
README.md Adjusted formatting in configuration examples for improved readability.
example/hello/app/router.ts, example/hello/start.ts Updated import to a type-only import and added a lint-disabling directive for console logging.
package.json Updated dependency versions; added new dependencies (husky, lint-staged, oxlint, prettier); revised scripts and lint-staged configuration.
src/config/config.default.ts, src/lib/redis.ts Improved type safety and code formatting by updating import statements and loop iterations.
Multiple test fixture files under test/fixtures/apps/... Applied consistent formatting improvements in function declarations and configuration objects across various test applications.
Multiple TypeScript test fixture files under test/fixtures/apps/ts(-multi)/redisapp-ts/... Standardized formatting and indentation in route and configuration files.
test/redis.test.ts Modified import to a type-only import and condensed method chaining in test assertions.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant Husky as Pre-commit Hook (.husky/pre-commit)
    participant Lint as lint-staged
    Dev->>Husky: Initiates commit
    Husky->>Lint: Executes "npx lint-staged"
    Lint->>Dev: Returns linting results
    alt Lint errors found
        Dev->>Husky: Commit blocked
    else No lint errors
        Husky->>Dev: Commit proceeds
    end
Loading

Suggested labels

enhancement

Poem

I'm a rabbit, hopping in the code field bright,
Where lint and format dance in the light.
With husky and staged checks guarding every hop,
Our code's in a garden that simply won't stop.
Dependencies updated, formatting so neat—
I nibble on changes with joy and a beat!
CodeRabbit cheers for each commit complete!

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR aims to integrate oxlint and prettier into the project, along with some type and formatting improvements.

  • Updated configuration type definitions to improve type safety for Redis options.
  • Refactored Redis client creation logic to use for-of loops and strengthened assertion conditions.
  • Modified example code to include oxlint directives and use type-only imports for clarity.

Reviewed Changes

Copilot reviewed 28 out of 35 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/config/config.default.ts Updated Redis option type for improved type safety
example/hello/start.ts Added oxlint directive for console usage and reformatted logging
src/lib/redis.ts Refactored Redis client creation, improved assertions, and logging
example/hello/app/router.ts Converted import to type-only import for Application
README.md Applied formatting consistency improvements in examples
Files not reviewed (7)
  • .eslintignore: Language not supported
  • .eslintrc: Language not supported
  • .husky/pre-commit: Language not supported
  • .oxlintrc.json: Language not supported
  • .prettierignore: Language not supported
  • .prettierrc: Language not supported
  • package.json: Language not supported
Comments suppressed due to low confidence (1)

src/lib/redis.ts:40

  • [nitpick] Consider renaming the loop variable 'client' to 'node' to avoid potential confusion with the outer 'client' variable.
for (const client of config.nodes) {

Copy link

pkg-pr-new bot commented Mar 23, 2025

Open in Stackblitz

npm i https://pkg.pr.new/eggjs/redis/@eggjs/redis@48

commit: d6876de

Copy link

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/[email protected] None 0 4.04 kB typicode
npm/[email protected] Transitive: environment, filesystem, shell +48 2.04 MB
npm/[email protected] None +8 123 MB boshen
npm/[email protected] None 0 0 B

View full report↗︎

Copy link

codecov bot commented Mar 23, 2025

Codecov Report

Attention: Patch coverage is 53.12500% with 30 lines in your changes missing coverage. Please review.

Project coverage is 82.64%. Comparing base (0afe42b) to head (d6876de).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
src/lib/redis.ts 51.61% 30 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
- Coverage   87.08%   82.64%   -4.44%     
==========================================
  Files           4        4              
  Lines         209      242      +33     
  Branches       17       17              
==========================================
+ Hits          182      200      +18     
- Misses         27       42      +15     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@fengmk2 fengmk2 merged commit 9900e87 into master Mar 23, 2025
10 of 13 checks passed
@fengmk2 fengmk2 deleted the oxlint branch March 23, 2025 12:58
fengmk2 pushed a commit that referenced this pull request Mar 23, 2025
[skip ci]

## [3.1.0](v3.0.0...v3.1.0) (2025-03-23)

### Features

* use oxlint and prettier ([#48](#48)) ([9900e87](9900e87))
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
README.md (2)

60-60: Markdownlint Suggestion: Use Heading Syntax.

Line 60 uses emphasis to denote a section title. Consider replacing this with a proper Markdown heading (e.g., ## Multi Clients) to comply with MD036.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

60-60: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


139-139: Markdownlint Suggestion: Use Heading Syntax.

Similarly, the emphasis on line 139 for the weakDependent section could be replaced with a Markdown header to better adhere to markdownlint guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

139-139: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)

.oxlintrc.json (1)

25-30: JSON Comments Consideration
There are inline comments (e.g. on line 26: // eslint and line 54: // maybe warn) used within this JSON file. Standard JSON does not support comments, so please verify that the configuration parser accepts JSONC or a similar relaxed format. If not, consider removing or converting these comments to avoid potential parse errors.

Below is a diff suggestion if you decide to remove the comments:

@@ "rules": { 
-    // eslint
-    "constructor-super": "error",
+    "constructor-super": "error",

Repeat similar removals for other comment lines as needed.

🧰 Tools
🪛 Biome (1.9.4)

[error] 26-26: Expected a property but instead found '// eslint'.

Expected a property here.

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0afe42b and d6876de.

📒 Files selected for processing (35)
  • .eslintignore (0 hunks)
  • .eslintrc (0 hunks)
  • .github/workflows/nodejs.yml (1 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .husky/pre-commit (1 hunks)
  • .oxlintrc.json (1 hunks)
  • .prettierignore (1 hunks)
  • .prettierrc (1 hunks)
  • README.md (4 hunks)
  • example/hello/app/router.ts (1 hunks)
  • example/hello/start.ts (2 hunks)
  • package.json (1 hunks)
  • src/config/config.default.ts (2 hunks)
  • src/lib/redis.ts (3 hunks)
  • test/fixtures/apps/redisapp-customize/app/router.js (1 hunks)
  • test/fixtures/apps/redisapp-customize/config/config.js (1 hunks)
  • test/fixtures/apps/redisapp-default/app/router.js (1 hunks)
  • test/fixtures/apps/redisapp-disable-offline-queue/app/router.js (1 hunks)
  • test/fixtures/apps/redisapp-supportTimeCommand-false/app/router.js (1 hunks)
  • test/fixtures/apps/redisapp-supportTimeCommand-false/config/config.js (1 hunks)
  • test/fixtures/apps/redisapp-weakdependent/app/router.js (1 hunks)
  • test/fixtures/apps/redisapp-weakdependent/config/config.js (1 hunks)
  • test/fixtures/apps/redisapp/app/router.js (1 hunks)
  • test/fixtures/apps/redisclusterapp/app/router.js (1 hunks)
  • test/fixtures/apps/redisclusterapp/config/config.js (1 hunks)
  • test/fixtures/apps/redispathapp/app/router.js (1 hunks)
  • test/fixtures/apps/redispathapp/config/config.js (1 hunks)
  • test/fixtures/apps/redissentinelapp/app/router.js (1 hunks)
  • test/fixtures/apps/redissentinelapp/config/config.js (1 hunks)
  • test/fixtures/apps/ts-multi/redisapp-ts/app/controller/home.ts (1 hunks)
  • test/fixtures/apps/ts-multi/redisapp-ts/app/router.ts (1 hunks)
  • test/fixtures/apps/ts-multi/redisapp-ts/config/config.ts (2 hunks)
  • test/fixtures/apps/ts/redisapp-ts/app/router.ts (1 hunks)
  • test/fixtures/apps/ts/redisapp-ts/config/config.ts (1 hunks)
  • test/redis.test.ts (11 hunks)
💤 Files with no reviewable changes (2)
  • .eslintrc
  • .eslintignore
🧰 Additional context used
🧬 Code Definitions (1)
test/fixtures/apps/redisapp-customize/app/router.js (3)
example/hello/app/router.ts (1)
  • app (3-12)
test/fixtures/apps/ts-multi/redisapp-ts/app/router.ts (1)
  • app (3-7)
test/fixtures/apps/ts/redisapp-ts/app/router.ts (1)
  • app (3-7)
🪛 markdownlint-cli2 (0.17.2)
README.md

60-60: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


139-139: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)

🪛 Biome (1.9.4)
.oxlintrc.json

[error] 26-26: Expected a property but instead found '// eslint'.

Expected a property here.

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-54: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-70: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-81: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-90: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-99: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-116: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-122: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-137: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 140-140: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-142: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)

🪛 GitHub Check: codecov/patch
src/lib/redis.ts

[warning] 35-38: src/lib/redis.ts#L35-L38
Added lines #L35 - L38 were not covered by tests


[warning] 40-45: src/lib/redis.ts#L40-L45
Added lines #L40 - L45 were not covered by tests


[warning] 47-47: src/lib/redis.ts#L47
Added line #L47 was not covered by tests


[warning] 50-53: src/lib/redis.ts#L50-L53
Added lines #L50 - L53 were not covered by tests


[warning] 55-60: src/lib/redis.ts#L55-L60
Added lines #L55 - L60 were not covered by tests


[warning] 63-66: src/lib/redis.ts#L63-L66
Added lines #L63 - L66 were not covered by tests


[warning] 69-69: src/lib/redis.ts#L69
Added line #L69 was not covered by tests


[warning] 89-92: src/lib/redis.ts#L89-L92
Added lines #L89 - L92 were not covered by tests

🔇 Additional comments (51)
.github/workflows/release.yml (1)

5-5: Standardized Branch Specification Formatting.

The branch list is now formatted as [master], which improves consistency across workflow configurations without impacting functionality.

.github/workflows/nodejs.yml (2)

5-5: Updated Push Branch Format.

The branch specification for the push event has been changed to [master] for a cleaner, standardized look.


7-7: Updated Pull Request Branch Format.

The pull_request event now uses [master] without extra spaces, ensuring consistency with the push configuration.

example/hello/app/router.ts (2)

1-1: Enforced Type-Only Import.

Using import type { Application } from 'egg'; clearly indicates that Application is meant for type checking only, which aligns with modern TypeScript best practices.


1-11: Consistent Routing and Redis Usage.

The overall structure of the router setup remains clear and concise. The formatting adjustments improve readability without affecting functionality.

README.md (5)

52-57: Improved Redis Single Client Example Formatting.

The configuration example for a single Redis client is now cleaner and more consistent. The inline comments for port and host are well positioned.


65-80: Enhanced Multi Clients Configuration Formatting.

The multi clients configuration has been reformatted for improved readability. The clear indentation and inline comments help users follow the example more easily.


90-100: Refined Sentinel Configuration Formatting.

The sentinel configuration section now presents the values for port, host, and other parameters in a consistent style, which improves comprehension.


131-137: Consistency in Custom ioredis Version Configuration.

The configuration for customizing the ioredis version is now neatly formatted. This clarity aids maintainability and ensures users can easily adjust settings if needed.


144-151: Improved weakDependent Configuration Example.

The weakDependent configuration now clearly shows the inline comment and associated values, making the example more accessible.

test/fixtures/apps/ts-multi/redisapp-ts/app/router.ts (2)

1-1: Consistent Type Import Formatting.

The updated import statement now includes the proper spacing (import { Application } from 'egg';), which aligns with the project's style guidelines.


3-6: Improved Formatting and Indentation.

The adjustments to the indentation and logging statement (switching to single quotes) enhance readability and maintain consistency with the project's coding standards.

.oxlintrc.json (1)

1-142: LGTM: Comprehensive Linting Rules
The configuration file is well-organized and defines an extensive set of linting rules and plugins that align with the new code quality goals. Make sure that your tooling and the oxlint schema fully support this structure.

🧰 Tools
🪛 Biome (1.9.4)

[error] 26-26: Expected a property but instead found '// eslint'.

Expected a property here.

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 27-27: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 28-28: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 29-29: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 30-30: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 31-31: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 32-32: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 33-33: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 34-34: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 35-35: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 36-36: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 37-37: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 38-38: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 39-39: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 40-40: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 41-41: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 42-42: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 43-43: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 44-44: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 45-45: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 46-46: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 47-47: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 48-48: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 49-49: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 50-50: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 51-51: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 52-52: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-53: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 53-54: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 55-55: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 56-56: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 57-57: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 58-58: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 59-59: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 60-60: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 61-61: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 62-62: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 63-63: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 64-64: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 65-65: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 66-66: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 67-67: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-68: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 68-70: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 71-71: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 72-72: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 73-73: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 74-74: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 75-75: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 76-76: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 77-77: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 78-78: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-79: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 79-81: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 82-82: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 83-83: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 84-84: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 85-85: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 86-86: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 87-87: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-88: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 88-90: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 91-91: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 92-92: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 93-93: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 94-94: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 95-95: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 96-96: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 97-97: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-98: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 98-99: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 100-100: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 101-101: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 102-102: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 103-103: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 104-104: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 105-105: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 106-106: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 107-107: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 108-108: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 109-109: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 110-110: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 111-111: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 112-112: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 113-113: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-114: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 114-116: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 117-117: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 118-118: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 119-119: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-120: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 120-122: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 123-123: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 124-124: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 125-125: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 126-126: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 127-127: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 128-128: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 129-129: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 130-130: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 131-131: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 132-132: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 133-133: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 134-134: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-135: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 135-137: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 138-138: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 139-139: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 140-140: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-141: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)


[error] 141-142: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)

.husky/pre-commit (1)

1-2: Good Use of Lint-Staged in Pre-commit
Adding npx lint-staged in the pre-commit hook ensures that your staged files are automatically checked for formatting and linting issues. This is well aligned with the updated linting workflow.

test/fixtures/apps/redisapp-disable-offline-queue/app/router.js (1)

1-6: Minor Formatting Update
The change in formatting (adding a space in the function declaration) improves readability without altering functionality. This consistency across similar files is a welcome improvement.

🧰 Tools
🪛 Biome (1.9.4)

[error] 1-1: Redundant use strict directive.

The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.

(lint/suspicious/noRedundantUseStrict)

test/fixtures/apps/redissentinelapp/app/router.js (1)

1-6: Consistent Formatting Improvement
The adjustment to the function declaration enhances code style and uniformity across the project. No functional changes were introduced, and this update supports better readability.

🧰 Tools
🪛 Biome (1.9.4)

[error] 1-1: Redundant use strict directive.

The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.

(lint/suspicious/noRedundantUseStrict)

.prettierignore (1)

1-3: Appropriate Prettier Ignore Configuration
The new .prettierignore file correctly excludes CHANGELOG.md and __snapshots__ from formatting, which is in line with the project’s formatting strategy.

test/fixtures/apps/redispathapp/config/config.js (1)

5-7: Formatting Improvement: Added trailing commas and standardized object property formatting.
The addition of a trailing comma after the path property and ensuring that agent: true ends with a comma improve consistency and readability according to the new linting/formatting rules. There is no impact on functionality.

test/fixtures/apps/redisapp-customize/app/router.js (1)

3-3: Formatting Update: Inserted space in function declaration.
Adding a space between the function keyword and the opening parenthesis enhances readability and aligns the file with the project's updated formatting guidelines.

test/fixtures/apps/redisclusterapp/app/router.js (1)

3-3: Formatting Update: Inserted space in function declaration.
This cosmetic change, adding a space between the function keyword and the parameters, improves code clarity and consistency with the new style enforced by oxlint and prettier.

test/fixtures/apps/redisapp-default/app/router.js (1)

3-3: Formatting Update: Inserted space in function declaration.
This update introduces a space between the function keyword and its parameter list to enhance readability and ensure consistency across similar files.

test/fixtures/apps/redisapp-supportTimeCommand-false/config/config.js (1)

10-10: Formatting Update: Added space after colon for the agent property.
This simple change improves the consistency and readability of the configuration file’s object notation, matching the project's updated styling guidelines.

test/fixtures/apps/redisapp-supportTimeCommand-false/app/router.js (1)

3-3: Enhance Function Declaration Formatting
The function declaration now includes a space between the function keyword and its parameter list. This cosmetic change improves readability and aligns with the new linting standards without affecting functionality.

test/fixtures/apps/redisapp-customize/config/config.js (1)

10-10: Standardize Boolean Property Formatting
The property definition for agent has been reformatted from agent:true, to agent: true,. This adjustment enhances code readability and maintains consistency with the new linting configuration.

test/fixtures/apps/redisapp-weakdependent/config/config.js (1)

9-9: Improve Readability in Configuration Files
The change in the agent property to include a space after the colon (i.e. agent: true,) is a purely cosmetic adjustment. It ensures a consistent coding style across configuration files without affecting the operational logic.

test/fixtures/apps/ts/redisapp-ts/app/router.ts (1)

4-7: Adopt Consistent Code Formatting
The changes in this file adjust the indentation and formatting (such as spacing in the function block) to align with the new linting rules introduced by oxlint and prettier. These updates are cosmetic and do not alter functionality.

test/fixtures/apps/ts-multi/redisapp-ts/app/controller/home.ts (1)

16-16: Refine Destructuring Assignment Spacing
The spacing in the destructuring assignment (const { ctx, app } = this;) has been improved for better readability. This update adheres to the project's new formatting standards and does not impact the logic.

test/fixtures/apps/redisapp/app/router.js (1)

3-3: Consistent Formatting Update in Function Declaration

The added space between the function keyword and the opening parenthesis improves readability and aligns with the project's new formatting standards.

test/fixtures/apps/redisapp-weakdependent/app/router.js (1)

3-3: Consistent Formatting Update in Function Declaration

The insertion of a space after the function keyword harmonizes the styling across similar modules and meets the project’s updated linting rules.

test/fixtures/apps/redispathapp/app/router.js (1)

3-3: Consistent Formatting Update in Function Declaration

Adding a space between function and its parameter list enhances the code’s clarity and adheres to the standardized formatting applied throughout the project.

.prettierrc (1)

1-6: Adopted Prettier Configuration

The new .prettierrc configuration file effectively sets consistent formatting rules (using single quotes, trailing commas in ES5 style, a tab width of 2, and avoiding unnecessary parentheses in arrow functions) which will help maintain a uniform code style across the codebase.

example/hello/start.ts (1)

13-16: Appropriate Use of Lint Directive and Enhanced Formatting

The addition of the // oxlint-disable-next-line no-console directive directly before the console output is a correct approach to temporarily bypass the no-console rule. Moreover, reformatting the console.log statement onto multiple lines improves readability while preserving functionality.

test/fixtures/apps/redissentinelapp/config/config.js (1)

5-14: Formatting looks good

The multi-line formatting with proper indentation and trailing commas improves readability and consistency. These changes align well with prettier's style conventions.

Also applies to: 17-17, 19-19

test/fixtures/apps/redisclusterapp/config/config.js (1)

6-19: Formatting looks good

The multi-line formatting for the nodes array with proper indentation and trailing commas improves readability. These changes correctly implement prettier's style conventions.

Also applies to: 21-21

test/fixtures/apps/ts-multi/redisapp-ts/config/config.ts (1)

5-5: Formatting looks good

The proper object formatting with consistent spacing and correctly terminated objects/export statement improves both readability and syntactic correctness of the TypeScript file.

Also applies to: 8-8, 23-25

test/fixtures/apps/ts/redisapp-ts/config/config.ts (1)

5-5: Formatting looks good

The object formatting improvements with consistent spacing and properly terminated objects/export statement enhance the TypeScript file's readability and correctness.

Also applies to: 8-8, 15-17

src/config/config.default.ts (2)

1-1: Improved type imports

Adding the Redis type import from 'ioredis' properly supports the type enhancement in the interface definition.


57-57: Enhanced type safety

Replacing any with typeof Redis improves type safety by specifying the exact expected type rather than using the generic any type.

test/redis.test.ts (2)

4-4: Good use of type-only import.

Using type keyword in the import statement for MockApplication is a good practice as it signals that this import is only used for type checking, not at runtime. This helps with better tree-shaking in TypeScript.


24-24: Consistent test method chaining format.

The HTTP request method chains have been consolidated to a single line format, which is more concise for these simple cases. This formatting change is consistent across all test cases in the file.

Also applies to: 40-40, 56-56, 72-72, 88-88, 115-115, 138-138, 155-155, 171-171, 188-188

src/lib/redis.ts (7)

6-9: Improved type import formatting.

Breaking the imports into multiple lines improves readability.


26-29: Better function signature readability.

The multi-line format for the function signature makes the parameter types easier to read and maintain.


30-30: Modern JS nullish coalescing operator.

Using the nullish coalescing operator (??) is a good practice for providing fallbacks only when the value is null or undefined.


35-38: Enhanced assertion readability.

The multi-line format for assertions improves readability, especially for complex conditions with multiple checks.

Also applies to: 50-53, 63-66, 73-80

🧰 Tools
🪛 GitHub Check: codecov/patch

[warning] 35-38: src/lib/redis.ts#L35-L38
Added lines #L35 - L38 were not covered by tests


82-87: Better logging statement formatting.

The multi-line format for logging statements improves readability and makes it easier to understand what's being logged.

Also applies to: 89-92, 109-111, 119-121


118-118: Cleaner Promise handling.

The reformatted Promise.race call is more readable and consistent with the project's new formatting style.


40-45:

✅ Verification successful

Improved iteration with for...of loops.

Replacing forEach with for...of loops is more idiomatic in modern JavaScript and provides better readability. It also enables the use of await within the loop if needed in the future.

There are code coverage warnings from the static analysis tool. Let's check if these code paths are actually being tested:

Also applies to: 55-60


🏁 Script executed:

#!/bin/bash
# Find tests that exercise the cluster and sentinel configurations
rg -A 2 -B 2 "cluster|sentinel" test/

Length of output: 20914


Attention: Improved Iteration & Verified Test Coverage

The use of for...of loops in src/lib/redis.ts (lines 40–45) enhances readability and future maintenance (e.g., using await if needed). The static analysis code coverage warnings have been cross-checked: tests in test/redis.test.ts and sentinel/cluster fixture files verify that both cluster and sentinel configurations are exercised. The same reasoning applies to the similar changes on lines 55–60.

No further changes are necessary.

🧰 Tools
🪛 GitHub Check: codecov/patch

[warning] 40-45: src/lib/redis.ts#L40-L45
Added lines #L40 - L45 were not covered by tests

package.json (4)

38-38: Updated dependencies.

Dependency versions have been updated to newer versions, which is good for security and feature improvements.

Also applies to: 42-42, 48-48


49-52: Added linting and formatting tools.

Adding husky, lint-staged, oxlint, and prettier aligns with the PR's objective of improving code quality tooling.


60-60: Updated build scripts.

The lint script now uses oxlint instead of eslint, and husky is set up to run automatically. The prepublishOnly script now includes type compatibility checking with attw.

Also applies to: 67-68


70-75: Added lint-staged configuration.

The lint-staged configuration ensures consistent formatting with prettier and linting with oxlint before commits, which helps maintain code quality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant