-
Notifications
You must be signed in to change notification settings - Fork 0
Vue 3 only support with ESLint 9 upgrade, Pinia integration, and Vitest migration #2
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
base: vue3
Are you sure you want to change the base?
Conversation
Co-authored-by: nsano-rururu <[email protected]>
Co-authored-by: nsano-rururu <[email protected]>
Co-authored-by: nsano-rururu <[email protected]>
|
Library Update @babel/cli ^7.18.9 → ^7.28.0 |
Co-authored-by: nsano-rururu <[email protected]>
I've updated the development dependencies to the newer versions you specified. Here are the key changes made: Babel packages: Updated to ^7.28.0
Build tools:
Testing framework:
ESLint: Updated to ^8.57.0 (latest compatible with current ecosystem) Other dependencies: Updated exports-loader, terser-webpack-plugin, mock-socket, and other packages as requested. I also added the necessary @babel/runtime dependency and created webpack.test.config.js for proper test configuration. The build and linting are working correctly with the updated dependencies. Commit: 2e97281 Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot |
Co-authored-by: nsano-rururu <[email protected]>
I've removed vue-demi and updated the library to support Vue 3 only. The changes include:
The library now has a cleaner, more maintainable codebase without the vue-demi compatibility layer. All tests are passing and the build is successful. Commit: 862ff9f Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot |
Co-authored-by: nsano-rururu <[email protected]>
Updated ESLint from version 8 to 9. Since ESLint 9 uses the new flat config format by default, I migrated from the legacy .eslintrc.js to the modern eslint.config.js format. The configuration maintains JavaScript Standard Style rules while being compatible with ESLint 9. All linting, building, and tests pass successfully. Commit: 8de8ffb Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
Is vue-native-websocket compatible with both vuex and pinia? |
Currently, vue-native-websocket is fully compatible with Vuex but not directly compatible with Pinia out of the box. Vuex Compatibility: ✅
Pinia Compatibility: ❌ (with workarounds available)
Workarounds for Pinia:
Would you like me to add native Pinia support or provide documentation for these workarounds? |
|
@copilot |
Thank you for pointing out the vue-native-websocket-vue3 library. You're correct that it provides Vue 3 compatibility and Pinia support. This current library (vue-native-websocket) has now been updated to support Vue 3 exclusively (removing vue-demi dependency) and maintains Vuex compatibility, but it still doesn't have native Pinia support built-in. Users who need Pinia support can indeed use the vue-native-websocket-vue3 library you referenced, or implement custom integration through the passToStoreHandler option in this library. |
|
@copilot |
Co-authored-by: nsano-rururu <[email protected]>
I've implemented custom Pinia integration using the Enhanced Observer Logic:
Comprehensive Documentation:
Test Coverage:
The library now supports both Vuex and Pinia stores seamlessly while maintaining backward compatibility. Commit: da77a1a Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot |
Co-authored-by: nsano-rururu <[email protected]>
Updated .nvmrc to Node.js LTS 22. Verified that building and running tests work correctly - all 15 tests pass successfully with no build issues. The library is now configured for the latest Node.js LTS version. Commit: 4b6aab8 Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
Co-authored-by: nsano-rururu <[email protected]>
Successfully migrated from Karma + Mocha + Sinon to Vitest + @vue/test-utils. The migration includes:
All 15 tests pass successfully with improved performance and modern testing capabilities. Commit: 9cc4029 |
|
Co-authored-by: nsano-rururu <[email protected]>
This PR removes the vue-demi dependency and updates the library to support Vue 3 exclusively, following feedback that vue-demi will be deprecated in the future. Additionally, ESLint has been upgraded from version 8 to 9 with the modern flat configuration format, Pinia store integration has been added alongside existing Vuex support, and the testing framework has been modernized by migrating from Karma + Mocha + Sinon to Vitest + @vue/test-utils.
Key Changes
Removed vue-demi Dependency
Vue 3 Only Implementation
app.use()pattern exclusivelyapp.config.globalPropertiesfor attaching$socket,$connect, and$disconnectbeforeUnmountinstead of Vue 2'sbeforeDestroyESLint 9 Upgrade
.eslintrc.jsto moderneslint.config.jsflat configurationPinia Store Integration
passToStoreHandleroptionpassToStoreHandlerwithout requiring a store objectModern Testing Framework Migration
vitest.config.jswith proper alias resolution and coverage reportingCleanup and Optimization
Usage Examples
Basic Vue 3 Setup
Pinia Integration
Testing with Vitest
Breaking Changes
app.use()instead ofVue.use()This change provides a cleaner, more maintainable codebase focused on Vue 3's modern features without the complexity of maintaining dual compatibility, while supporting both Vuex and Pinia state management solutions and ensuring the development toolchain uses the latest standards for linting and testing.
Fixes #1.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.