Skip to content

chore: TypeScript 5.8, nx migrate, dep updates #10759

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

Merged
merged 2 commits into from
Jul 7, 2025

Conversation

NathanWalker
Copy link
Contributor

@NathanWalker NathanWalker commented Jul 5, 2025

  • TypeScript 5.8
  • nx migrate
  • transient dependency updates

Summary by CodeRabbit

  • New Features

    • Improved HTTP request options to support additional content types.
    • Enhanced file reading capabilities to support SharedArrayBuffer.
  • Bug Fixes

    • Updated ignore patterns and ESLint configurations to better handle generated and temporary files.
  • Refactor

    • Adjusted type annotations and interface implementations for improved flexibility and maintainability.
    • Reformatted configuration files for consistency and readability.
  • Chores

    • Upgraded multiple dependencies across the project for better compatibility and performance.
    • Updated migration metadata for newer Nx and related tool versions.
  • Style

    • Added TypeScript error suppression comments to native property setters for improved code clarity.

Copy link

coderabbitai bot commented Jul 5, 2025

Walkthrough

This update includes dependency upgrades across multiple package manifests and configuration formatting improvements. Several TypeScript error suppression comments were added to native property setters. Type annotations were adjusted for HTTP and XHR interfaces, and the setNative property type was broadened in UI property classes. Some legacy migration and cache settings were removed or updated.

Changes

File(s) Change Summary
.gitignore Capitalization fix and new ignore patterns added for .cursor and .github/instructions files
apps/automated/package.json
apps/toolbox/package.json
apps/ui/package.json
Upgraded @nativescript/* platform packages and typescript devDependencies to newer versions
migrations.json Replaced migration metadata for Nx v20.5.x–v21.1.x; removed legacy migrations, updated Vite and Jest migrations
nx.json Reformatted arrays to single-line, removed useLegacyCache property
package.json Upgraded multiple dependencies (@nativescript/nx, @nx/*, @typescript-eslint/*, vite, typescript, etc.), added jiti
packages/core/.eslintrc.json Added ignore patterns for timestamped Vite/Vitest config files
packages/core/http/index.ts Expanded HttpRequestOptions.content type to include Uint8Array<ArrayBufferLike>; minor formatting tweaks
packages/core/profiling/index.ts Condensed ternary return in timelineProfileFunctionFactory for code style
packages/core/ui/core/properties/index.ts Changed setNative type from symbol to any in property classes; removed redundant interface implementation
packages/core/ui/core/view/index.android.ts
packages/core/ui/text-base/index.android.ts
packages/core/ui/search-bar/index.android.ts
Added // @ts-expect-error before native property setter methods
packages/core/ui/image/index.ios.ts
packages/core/ui/search-bar/index.ios.ts
Added // @ts-expect-error before native property setter methods; updated iOS version check to use SDK_VERSION
packages/core/ui/styling/style/index.ts Removed explicit StyleDefinition interface implementation from Style class
packages/core/xhr/index.ts Broadened FileReader.result types to include SharedArrayBuffer; relaxed Blob.arrayBuffer return type
packages/webpack5/package.json Upgraded various dependencies and devDependencies to newer versions

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant HTTPModule
  participant XHRModule

  User->>HTTPModule: Send HTTP request with content (string | FormData | ArrayBuffer | Uint8Array<ArrayBufferLike>)
  HTTPModule-->>User: Returns promise response

  User->>XHRModule: Use FileReader to read data
  XHRModule-->>User: result can be string, ArrayBuffer, or SharedArrayBuffer
Loading

Poem

A bunny hops through fields of code,
Upgrading packages, lightening the load.
Arrays now tidy, types more free,
Module resolution as bundlers decree.
With a wink and a wiggle,
Suppress those errors—let’s giggle!
The garden’s fresh, let’s ship with glee! 🥕✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

npm error Exit handler never called!
npm error This is an error with npm itself. Please report this error at:
npm error https://github.com/npm/cli/issues
npm error A complete log of this run can be found in: /.npm/_logs/2025-07-05T17_51_38_983Z-debug-0.log

✨ 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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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 generate sequence diagram to generate a sequence diagram of the changes in 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

nx-cloud bot commented Jul 5, 2025

View your CI Pipeline Execution ↗ for commit 081dfb9

Command Status Duration Result
nx test apps-automated -c=ios ✅ Succeeded 2m 2s View ↗
nx run-many --target=test --configuration=ci --... ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2025-07-06 19:54:50 UTC

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: 2

♻️ Duplicate comments (1)
packages/devtools/tsconfig.json (1)

7-7: Same caveat as the root config

The concerns raised for the root tsconfig.base.json apply here as well. Ensure any dev-tools-specific scripts or bundlers (vite/esbuild/rollup) are exercised with this setting.

🧹 Nitpick comments (2)
tools/scripts/build-finish.ts (1)

16-29: Disabling cleanPackage() may publish unexpected "module"/"type" fields

Commenting out both the implementation and call means packages in dist will now keep whatever "module" or "type" fields the build pipeline generated.
If older consumers still rely on CommonJS require() this is a potential breaking change.

Consider either:

  1. Fully deleting the dead code and documenting the intentional change in the changelog, or
  2. Re-introducing the cleanup behind an opt-in CLI flag (e.g. --keep-module) so the behaviour is explicit.
-// cleanPackage();
+if (!process.env.NS_KEEP_MODULE) {
+  cleanPackage();
+}
packages/core/xhr/index.ts (1)

435-437: Return type annotation removed from arrayBuffer() method

The explicit Promise<ArrayBuffer> return type annotation was removed. While TypeScript can infer this type, explicit return types improve code clarity and documentation.

Consider restoring the explicit return type for better documentation:

-	public arrayBuffer() {
+	public arrayBuffer(): Promise<ArrayBuffer> {
		return Promise.resolve(this._buffer);
	}
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 32f2dd1 and 48b02ff.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (22)
  • .gitignore (1 hunks)
  • apps/automated/package.json (1 hunks)
  • apps/toolbox/package.json (1 hunks)
  • apps/ui/package.json (1 hunks)
  • migrations.json (1 hunks)
  • nx.json (4 hunks)
  • package.json (1 hunks)
  • packages/core/.eslintrc.json (1 hunks)
  • packages/core/http/index.ts (6 hunks)
  • packages/core/profiling/index.ts (1 hunks)
  • packages/core/ui/core/properties/index.ts (5 hunks)
  • packages/core/ui/core/view/index.android.ts (5 hunks)
  • packages/core/ui/image/index.ios.ts (1 hunks)
  • packages/core/ui/search-bar/index.android.ts (1 hunks)
  • packages/core/ui/search-bar/index.ios.ts (4 hunks)
  • packages/core/ui/styling/style/index.ts (1 hunks)
  • packages/core/ui/text-base/index.android.ts (1 hunks)
  • packages/core/xhr/index.ts (2 hunks)
  • packages/devtools/tsconfig.json (1 hunks)
  • packages/webpack5/package.json (1 hunks)
  • tools/scripts/build-finish.ts (1 hunks)
  • tsconfig.base.json (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (5)
packages/core/ui/search-bar/index.android.ts (4)
packages/core/ui/search-bar/index.ios.ts (4)
  • textProperty (165-167)
  • textProperty (169-172)
  • hintProperty (174-176)
  • hintProperty (178-180)
packages/core/ui/text-base/text-base-common.ts (1)
  • textProperty (226-230)
packages/core/ui/text-base/index.d.ts (1)
  • textProperty (213-213)
packages/core/ui/editable-text-base/index.android.ts (4)
  • textProperty (192-194)
  • textProperty (195-202)
  • hintProperty (441-443)
  • hintProperty (444-447)
packages/core/ui/styling/style/index.ts (1)
packages/core/data/observable/index.ts (1)
  • Observable (97-497)
packages/core/ui/text-base/index.android.ts (6)
packages/core/ui/styling/style-properties.ts (4)
  • paddingTopProperty (556-571)
  • paddingRightProperty (538-553)
  • paddingBottomProperty (574-589)
  • paddingLeftProperty (520-535)
packages/core/ui/styling/style-properties.d.ts (4)
  • paddingTopProperty (100-100)
  • paddingRightProperty (99-99)
  • paddingBottomProperty (101-101)
  • paddingLeftProperty (98-98)
packages/core/ui/button/index.android.ts (8)
  • paddingTopProperty (126-128)
  • paddingTopProperty (129-131)
  • paddingRightProperty (133-135)
  • paddingRightProperty (136-138)
  • paddingBottomProperty (140-142)
  • paddingBottomProperty (143-145)
  • paddingLeftProperty (147-149)
  • paddingLeftProperty (150-152)
packages/core/ui/layouts/layout-base.android.ts (8)
  • paddingTopProperty (30-32)
  • paddingTopProperty (33-35)
  • paddingRightProperty (37-39)
  • paddingRightProperty (40-42)
  • paddingBottomProperty (44-46)
  • paddingBottomProperty (47-49)
  • paddingLeftProperty (51-53)
  • paddingLeftProperty (54-56)
packages/core/core-types/index.ts (2)
  • LengthType (35-35)
  • LengthType (325-325)
packages/core/css/parser.ts (1)
  • Length (13-13)
packages/core/http/index.ts (1)
packages/core/xhr/index.ts (1)
  • FormData (356-376)
packages/core/ui/core/properties/index.ts (1)
packages/core/ui/styling/style/index.ts (1)
  • Style (37-261)
🪛 Biome (1.9.4)
packages/core/xhr/index.ts

[error] 502-502: Don't use 'Function' as a type.

Prefer explicitly define the function shape. This type accepts any function-like value, which can be a common source of bugs.

(lint/complexity/noBannedTypes)


[error] 502-502: Don't use 'Function' as a type.

Prefer explicitly define the function shape. This type accepts any function-like value, which can be a common source of bugs.

(lint/complexity/noBannedTypes)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: test-ios
  • GitHub Check: test-android
  • GitHub Check: Analyze (java-kotlin)
🔇 Additional comments (36)
tsconfig.base.json (1)

9-9: Check downstream tooling before locking in "bundler" resolution

moduleResolution: "bundler" is still relatively new (v5.7+) and differs from "node" in a few subtle but breaking ways (e.g. it ignores paths at runtime, honours "exports" conditions, changes default extension guesses, etc.).
Please verify that:

• Nx v21, Jest, ts-node, ESLint and any custom build scripts you use can all consume the generated output without additional flags.
• All internal import paths resolve correctly when built with tsc -b, especially those using the path aliases listed below in this file.

If any tool in your CI/CD pipeline is still hard-wired to "node" semantics you may need to keep a package-level override or introduce a compatibility flag.

packages/core/profiling/index.ts (1)

113-121: Formatting-only change looks good

Ternary compression doesn’t alter control flow; behaviour is preserved.

packages/webpack5/package.json (2)

20-54: Heads-up: multiple major-version bumps can introduce breaking API/ESM changes

Several dependencies jump a major version (babel-loader@10, css-loader@7, copy-webpack-plugin@13, sass-loader@16, webpack-cli@6, webpack-merge@6, …).
At least four of these packages switched to pure-ESM or changed option names (fork-ts-checker-webpack-plugin dropped the async flag, webpack-merge no longer accepts arrays, etc.). Please verify the build still succeeds and update webpack config where needed.


57-72: Confirm Angular 20 / TS 5.8 compatibility with plugin versions

@angular-devkit/build-angular@20 and ts-jest@29.4 were added while TypeScript was bumped to 5.8. Make sure the compiled output targets identical TS minor and the jest preset still recognises .mts / .cts files produced by Angular 20.

apps/toolbox/package.json (1)

15-20: Platform packages bumped to 8.9 – SDK/CLI upgrade required

@nativescript/android|ios|visionos ~8.9.0 require the matching NativeScript CLI ≥ 8.9 and, for iOS, Xcode 15 minimum. Double-check CI images before merging.

apps/automated/package.json (1)

14-20: Verify automated-tests pipeline with TypeScript 5.8

The automated app uses circular-dependency-plugin and custom webpack rules; ensure they compile cleanly against TS 5.8 and the new platform runtimes.

.gitignore (2)

61-64: Summary mismatch: capitalization change opposite to AI summary

The diff shows vitest.config.*.timestamp* added in lowercase, whereas the AI summary claims the line was capitalised to Vitest. No problem in the code itself, but flagging the inconsistency for record.

Likely an incorrect or invalid review comment.


63-64: Nice addition – ignore Nx rule & instruction artifacts
The new ignore patterns keep ancillary Nx metadata out of git.

apps/ui/package.json (1)

14-19: Same platform/TS bumps – align e2e images

apps/ui drives e2e on real devices. Ensure the functional-tests-images repo already contains 8.9 runtimes; otherwise the load-images script will fail.

packages/core/ui/styling/style/index.ts (1)

37-37: Interface implementation removed as part of type system refinement.

The removal of StyleDefinition interface implementation aligns with the broader TypeScript 5.8 upgrade and type system simplification mentioned in the PR objectives. The class continues to extend Observable which provides the core functionality.

packages/core/.eslintrc.json (1)

4-4: Good addition of ignore patterns for Vite/Vitest timestamp files.

These ignore patterns correctly exclude auto-generated temporary files that don't need linting, which aligns with the Vite integration mentioned in the PR objectives.

packages/core/ui/search-bar/index.android.ts (2)

237-237: TypeScript error suppression added for native property setter.

The // @ts-expect-error comment is necessary due to stricter type checking in TypeScript 5.8 for property setters with symbol keys. This is part of a systematic effort across the codebase to handle similar typing issues.


245-245: TypeScript error suppression added for native property setter.

The // @ts-expect-error comment is necessary due to stricter type checking in TypeScript 5.8 for property setters with symbol keys. This is part of a systematic effort across the codebase to handle similar typing issues.

packages/core/ui/image/index.ios.ts (1)

222-222: TypeScript error suppression added for native property setter.

The // @ts-expect-error comment is necessary due to stricter type checking in TypeScript 5.8 for property setters with symbol keys. This aligns with the systematic approach used across other UI components.

packages/core/ui/search-bar/index.ios.ts (4)

6-6: Import refactored to use centralized constant.

Good change to import SDK_VERSION from the constants module instead of iOSNativeHelper, promoting better code organization and centralized constant management.


63-63: Version check updated to use centralized constant.

The logic remains identical but now uses the centralized SDK_VERSION constant, which is consistent with the import change and promotes better maintainability.


168-168: TypeScript error suppression added for native property setter.

The // @ts-expect-error comment is necessary due to stricter type checking in TypeScript 5.8 for property setters with symbol keys. This maintains consistency with the systematic approach used across the codebase.


177-177: TypeScript error suppression added for native property setter.

The // @ts-expect-error comment is necessary due to stricter type checking in TypeScript 5.8 for property setters with symbol keys. This maintains consistency with the systematic approach used across the codebase.

packages/core/ui/core/view/index.android.ts (5)

836-844: Verify the necessity of TypeScript error suppression for accessibility role setter.

The addition of // @ts-expect-error suggests a type mismatch in the accessibility role property setter. Since this is part of the TypeScript 5.8 upgrade, please verify:

  1. What specific TypeScript error is being suppressed?
  2. Is this a temporary measure or a permanent solution?
  3. Could the underlying type issue be resolved instead of suppressed?

The systematic addition of these error suppressions across multiple native setters may indicate broader type system changes that should be addressed at the root cause level.


869-885: Verify the necessity of TypeScript error suppression for accessibility live region setter.

Similar to the accessibility role setter, this error suppression should be verified to ensure it's not masking a real type safety issue.


887-891: Verify the necessity of TypeScript error suppression for accessibility state setter.

This continues the pattern of error suppression for accessibility-related property setters. Please ensure these suppressions are justified and documented.


980-1016: Verify the necessity of TypeScript error suppression for horizontal alignment setter.

The horizontal alignment property setter now has error suppression. Given that similar layout-related properties in other files (like packages/core/ui/layouts/layout-base.android.ts) don't require error suppression, this warrants investigation.


1021-1057: Verify the necessity of TypeScript error suppression for vertical alignment setter.

Similar concern as with the horizontal alignment setter. The selective application of error suppression suggests specific issues that should be understood and potentially resolved at the type level.

packages/core/ui/text-base/index.android.ts (2)

469-488: Consistent pattern of error suppression for all padding setters.

All four padding property setters (top, right, bottom, left) follow the same pattern of error suppression. This reinforces the need to understand the root cause rather than treating symptoms.

Consider creating a type-safe solution that addresses the underlying TypeScript compatibility issue rather than suppressing errors across multiple methods.


461-464: Investigate TextBase padding property TypeScript suppressions

The four @ts-expect-error lines on
[padding{Top,Right,Bottom,Left}Property.setNative]
in packages/core/ui/text-base/index.android.ts point to a missing or mismatched setNative signature on the TextBase class (inherited from TextBaseCommon). Identical code in button/index.android.ts and layouts/layout-base.android.ts compiles cleanly, so this appears specific to TextBase’s type declarations.

Please verify:
• The exact TypeScript errors these comments are silencing.
• Whether paddingXProperty.setNative is declared on TextBaseCommon (or via the CssProperty definitions) so that TextBase actually implements the signature.
• If needed, update the CssProperty<Style, CoreTypes.LengthType> generics or augment the TextBaseCommon interface (instead of suppressing) to properly type these setters.

nx.json (3)

72-74: LGTM! Improved formatting for named inputs configuration.

The conversion from multiline to single-line arrays improves readability while maintaining the same configuration values.


78-112: LGTM! Consistent formatting for target defaults.

The formatting improvements across all target default input configurations enhance consistency and maintainability.


121-121: LGTM! Consistent formatting for release projects.

The single-line format for the release projects array maintains consistency with the other formatting changes in this file.

migrations.json (1)

3-12: LGTM! Comprehensive migration configurations for Nx upgrade.

The migration entries are properly configured with:

  • Appropriate version targets (20.5.x, 21.0.x, 21.1.x)
  • Clear descriptions of changes
  • Correct package references and implementation paths
  • Consistent naming conventions

These migrations align with the PR objectives of upgrading to TypeScript 5.8 and performing Nx migration.

packages/core/ui/core/properties/index.ts (2)

601-601: Class declaration simplified: removed implements CssProperty<T, U> clause

The CssProperty class declaration was simplified by removing the implements CssProperty<T, U> clause. This might resolve circular reference issues with TypeScript 5.8.

This change appears to be a valid simplification that resolves potential TypeScript compilation issues while maintaining the class functionality.


199-199: Confirm necessity of setNative type relaxation

The setNative property on Property, CoercibleProperty, CssProperty and CssAnimationProperty (packages/core/ui/core/properties/index.ts:199) has been changed from symbol to any. At runtime it’s still assigned via Symbol(propertyName + ':setNative'), so the relaxation to any only weakens compile-time safety without an obvious benefit.

• Declaration now:
public readonly setNative: any;
(formerly symbol)
• Runtime assignment remains:
this.setNative = Symbol(propertyName + ':setNative');
• Dynamic usage throughout:
view[setNative](value)

Consider restoring a more specific type and one of these approaches to preserve type safety:

  • Keep setNative: symbol and add a symbol index signature to the View interface (e.g. interface View { [key: symbol]: any }) so view[setNative]() is valid in TS.
  • Keep setNative: symbol and cast on use:
    (view as any)[setNative](value).
  • If any is truly required for TS 5.8 compatibility, please document the rationale in a code comment.

Please verify whether relaxing setNative to any is necessary or if we can revert to symbol with a safer indexing strategy.

packages/core/xhr/index.ts (1)

500-500: Good addition: SharedArrayBuffer support in FileReader

The FileReader class now supports SharedArrayBuffer in both the private _result property and public result getter. This enhances type coverage and aligns with modern JavaScript capabilities.

This is a valuable enhancement that improves the FileReader API's type accuracy and supports SharedArrayBuffer operations.

Also applies to: 508-510

package.json (4)

93-93: TypeScript upgraded to 5.8.3

TypeScript has been upgraded from ~5.6.0 to 5.8.3, which aligns with the PR objective of modernizing to TypeScript 5.8.

This upgrade enables access to the latest TypeScript features and improvements, supporting the modernization goals mentioned in the PR.


28-28: Nx ecosystem upgraded to version 21.x

The Nx packages have been consistently upgraded from 20.x to 21.2.1, including the main nx package and all @nx/* scoped packages. The @nativescript/nx package was also updated to ^21.0.0.

This coordinated upgrade ensures compatibility across the Nx ecosystem and provides access to the latest build and development tools.

Also applies to: 31-39, 75-75


46-47: Multiple development dependencies updated

Several key development dependencies have been updated to newer versions:

  • @typescript-eslint packages: ^8.6.0 → ^8.35.0
  • eslint-config-prettier: ~9.1.0 → ^10.0.0
  • postcss-import and postcss-loader: updated to ^16.0.0 and ^8.0.0
  • ts-jest: 29.2.5 → 29.4.0
  • vite and vitest: updated to ^6.0.0 and ^2.0.0

These updates maintain compatibility with the TypeScript 5.8 upgrade and provide access to the latest tooling improvements. The version ranges appear appropriate for a stable build environment.

Also applies to: 62-62, 79-80, 87-87, 94-95


68-68: Confirm and configure jiti usage in the @nx/vite migration

It looks like you’ve added jiti@2.4.2 to support the install-jiti migration for parsing TS in PostCSS files—but I wasn’t able to find any direct imports or calls to jiti in the source. Please verify that:

  • The migration implementation file (install-jiti.[js|ts]) under src/migrations/update-20-5-0/ exists and invokes jiti.
  • The runtime code in the @nx/vite plugin properly imports or requires jiti (e.g. import('jiti')() or require('jiti')).
  • Any Vite/bundler resolution settings include support for TS‐based PostCSS files via jiti.

You can use these commands to locate and inspect the implementation:

# Locate the migration and its implementation
rg -l "install-jiti" -t js -t ts

# Search for direct jiti imports or requires
rg -l "from ['\"]jiti['\"]" -t js -t ts
rg -l "require\(['\"]jiti['\"]\)" -t js -t ts

@NathanWalker NathanWalker changed the title chore: TypeScript 5.8, nx migrate, dep updates - bundler resolution chore: TypeScript 5.8, nx migrate, dep updates Jul 6, 2025
@NathanWalker NathanWalker merged commit eab726b into main Jul 7, 2025
7 of 8 checks passed
@NathanWalker NathanWalker deleted the chore/migrate-ts-updates branch July 7, 2025 23:29
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