-
Notifications
You must be signed in to change notification settings - Fork 0
feat(m0): adopt Biome for linting and formatting #12
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
Conversation
Updated the 'engines.node' field from >=22.0.0 to >=24.0.0 across all package.json files to require the current LTS version. This is a major version change for all affected packages.
Introduces polyfills for Symbol.dispose, Symbol.asyncDispose, DisposableStack, and AsyncDisposableStack to support automatic resource cleanup in environments lacking native support. Updates documentation and navigation to cover resource management concepts and usage. Refactors example to use DisposableStack for safer URL cleanup. Adds comprehensive tests for polyfill correctness and updates Result tests for resource management patterns.
Groups tests for resource management under more descriptive nested 'describe' blocks for 'using keyword', 'DisposableStack', and 'AsyncDisposableStack'. This improves test organization and readability without changing test logic.
Introduces tests demonstrating generator-based monadic composition with the Result type, comparing imperative and generator patterns, verifying type inference, performance, and resource disposal behavior. These tests illustrate how generator composition can reduce boilerplate.
Added 'sql.raw' to the embeddedSqlTags in prettier.config.mjs to support additional SQL formatting. Updated .prettierignore to adjust ignored paths for API reference MDX files.
Bump various dependencies including @typescript-eslint, shiki, vitest, @op-engineering/op-sqlite, @react-navigation, electron-to-chromium, sf-symbols-typescript, and tinyexec to their latest versions for improved stability, features, and security.
Updated the 'engines.node' field from >=22.0.0 to >=24.0.0 across all package.json files to require the current LTS version. This is a major version change for all affected packages.
Introduces polyfills for Symbol.dispose, Symbol.asyncDispose, DisposableStack, and AsyncDisposableStack to support automatic resource cleanup in environments lacking native support. Updates documentation and navigation to cover resource management concepts and usage. Refactors example to use DisposableStack for safer URL cleanup. Adds comprehensive tests for polyfill correctness and updates Result tests for resource management patterns.
Groups tests for resource management under more descriptive nested 'describe' blocks for 'using keyword', 'DisposableStack', and 'AsyncDisposableStack'. This improves test organization and readability without changing test logic.
Introduces tests demonstrating generator-based monadic composition with the Result type, comparing imperative and generator patterns, verifying type inference, performance, and resource disposal behavior. These tests illustrate how generator composition can reduce boilerplate.
Added 'sql.raw' to the embeddedSqlTags in prettier.config.mjs to support additional SQL formatting. Updated .prettierignore to adjust ignored paths for API reference MDX files.
Bump various dependencies including @typescript-eslint, shiki, vitest, @op-engineering/op-sqlite, @react-navigation, electron-to-chromium, sf-symbols-typescript, and tinyexec to their latest versions for improved stability, features, and security.
Major rewrite of Task.ts to implement JavaScript-native structured concurrency, including new types for Task, Runner, Fiber, and AsyncDisposableStack. Adds support for dependency injection, resource management, and monitoring via Runner events. Updates documentation and examples to reflect new API and usage patterns.
- Take Steida's new code: Task.ts (structured concurrency), Schedule, Listeners, Set, Tracer - Preserve our Biome/Bun migration (no ESLint/Prettier) - Remove: eslint.config.mjs, prettier.config.mjs, .prettierignore - Keep: biome.json, Bun scripts in package.json New modules from upstream: - Task.ts: Complete rewrite with Runner, Fiber, AsyncDisposableStack - OldTask.ts: Backward compatibility for WebSocket - Schedule.ts: Composable retry/repeat strategies - Listeners.ts: Pub-sub notifications - Set.ts: Type-safe immutable Set helpers - Tracer.ts: Observability interface
|
| Status | Scanner | Total (0) | ||||
|---|---|---|---|---|---|---|
| Open Source Security | 0 | 0 | 0 | 0 | See details |
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
Caution Review the following alerts detected in dependencies. According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.
|
Updated the build script to set NODE_OPTIONS=--max-old-space-size=8192, increasing the memory allocation for Next.js builds from 4GB to 8GB to help prevent out-of-memory errors during the build process.
Added details about the web build process, including the use of webpack, memory options to prevent heap OOM, and macOS-specific file limit instructions. Clarifies that 'pnpm build:web' builds both docs and web.
Disabled the use of fast-glob and dynamic importing of MDX files in the docs layout to improve build and hot reload performance. Added a note explaining the reason and replaced the dynamic section loading with an empty object.
Replaces unnecessary async arrow functions with synchronous ones in Task-related tests, improving readability and reducing boilerplate.
- Sync all commits from upstream/common-v8 - Resolve conflicts in Task.ts and Task.test.ts - Unify dependencies across monorepo (React 19.2.3, TS 5.9.3, Vitest 4.0.17) - Update root README.md to use Bun and Biome conventions - Migrate root package.json scripts to Bun - Fix Typedoc generation by disabling Prettier integration - Fix linting and types in apps/web and packages
Goal
Adopt Biome as the sole tool for linting and formatting.
Changes
@evolu/biome-configpackage.package.jsonscripts (lint->biome check,format->biome check --write).lintandformattasks with Turborepo.dev-v8.Verification
pnpm lintpasses (using Biome)pnpm formatpasses (using Biome)