Skip to content

Conversation

Copy link

Copilot AI commented Aug 3, 2025

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

  • Completely removed vue-demi from dependencies
  • Eliminated conditional Vue 2/Vue 3 compatibility logic
  • Simplified codebase by removing version detection overhead

Vue 3 Only Implementation

  • Plugin Installation: Uses Vue 3's app.use() pattern exclusively
  • Property Attachment: Uses app.config.globalProperties for attaching $socket, $connect, and $disconnect
  • Lifecycle Hooks: Uses beforeUnmount instead of Vue 2's beforeDestroy
  • Modern API: Leverages Vue 3's composition API compatibility

ESLint 9 Upgrade

  • Updated ESLint from version 8 to 9
  • Migrated from legacy .eslintrc.js to modern eslint.config.js flat configuration
  • Removed eslint-config-standard and related plugins (not compatible with ESLint 9)
  • Created custom flat config that maintains JavaScript Standard Style rules
  • Added @eslint/js dependency for ESLint 9 flat config support

Pinia Store Integration

  • Custom Integration: Implemented Pinia support using the existing passToStoreHandler option
  • Enhanced Observer Logic: Updated Observer to call passToStoreHandler without requiring a store object
  • Dual Store Support: Maintains full Vuex compatibility while enabling Pinia integration
  • Comprehensive Documentation: Added detailed Pinia integration examples with both basic and advanced patterns

Modern Testing Framework Migration

  • Replaced Testing Stack: Migrated from Karma + Mocha + Sinon to Vitest + @vue/test-utils
  • Improved Performance: Vitest provides faster test execution and better developer experience
  • Modern Configuration: Created vitest.config.js with proper alias resolution and coverage reporting
  • Minimal Test Changes: Updated imports and mocking patterns while preserving all test logic and assertions
  • Enhanced Test Isolation: Fixed mock server conflicts and improved async test patterns

Cleanup and Optimization

  • Removed Unused Dependencies: Cleaned up webpack loaders (exports-loader, script-loader) that were no longer needed after Karma removal
  • Updated Node.js: Set to LTS version 22 in .nvmrc
  • Updated Dependencies: Upgraded all development dependencies to latest compatible versions

Usage Examples

Basic Vue 3 Setup

import { createApp } from 'vue'
import VueNativeSock from 'vue-native-websocket'

const app = createApp({})
app.use(VueNativeSock, 'ws://localhost:9090')

Pinia Integration

import { createPinia } from 'pinia'
import { useSocketStore } from './stores/socket'

const piniaHandler = (eventName, event) => {
  const socketStore = useSocketStore()
  
  switch (eventName) {
    case 'SOCKET_ONOPEN':
      socketStore.setConnected(true)
      break
    case 'SOCKET_ONMESSAGE':
      socketStore.setMessage(event.data)
      break
  }
}

app.use(VueNativeSock, 'ws://localhost:9090', {
  passToStoreHandler: piniaHandler
})

Testing with Vitest

# Run tests in watch mode
npm run unit

# Run tests once
npm test

Breaking Changes

  • Vue 2 Support Removed: Users on Vue 2 should use version 2.x of this library
  • Installation Method: Must use app.use() instead of Vue.use()
  • ESLint 9 Required: Development environments must support ESLint 9's flat config format
  • Testing Framework: Development requires Vitest instead of Karma for running tests

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.

Copilot AI changed the title [WIP] Compatible with both vue2 and vue3. Use vue-demi Add Vue 2 & Vue 3 compatibility using vue-demi Aug 3, 2025
Copilot AI requested a review from nsano-rururu August 3, 2025 06:33
@nsano-rururu
Copy link
Owner

Library Update

@babel/cli ^7.18.9 → ^7.28.0
@babel/core ^7.18.9 → ^7.28.0
@babel/eslint-parser ^7.18.9 → ^7.28.0
@babel/plugin-transform-runtime ^7.18.9 → ^7.28.0
@babel/preset-env ^7.18.9 → ^7.28.0
babel-loader ^8.2.5 → ^10.0.0
chai ^4.3.6 → ^5.2.1
eslint ^8.20.0 → ^9.32.0
eslint-config-standard ^17.0.0 → ^17.1.0
eslint-plugin-import ^2.26.0 → ^2.32.0
eslint-plugin-n ^15.2.4 → ^17.21.3
eslint-plugin-promise ^6.0.0 → ^7.2.1
exports-loader ^0.6.4 → ^5.0.0
karma ^6.4.0 → ^6.4.4
karma-chrome-launcher ^3.1.1 → ^3.2.0
karma-coverage ^2.2.0 → ^2.2.1
karma-sourcemap-loader ^0.3.8 → ^0.4.0
karma-spec-reporter ^0.0.33 → ^0.0.36
karma-webpack ^5.0.0 → ^5.0.1
mocha ^9.2.1 → ^11.7.1
mock-socket ^6.1.0 → ^9.3.1
script-loader ^0.7.0 → ^0.7.2
sinon ^13.0.1 → ^21.0.0
sinon-chai ^3.7.0 → ^4.0.0
terser-webpack-plugin ^5.3.3 → ^5.3.14
webpack ^5.76.0 → ^5.101.0
webpack-cli ^4.10.0 → ^6.0.1

Copy link
Author

Copilot AI commented Aug 4, 2025

Library Update

@babel/cli ^7.18.9 → ^7.28.0
...

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

  • @babel/cli, @babel/core, @babel/eslint-parser, @babel/plugin-transform-runtime, @babel/preset-env

Build tools:

  • babel-loader: ^10.0.0
  • webpack: ^5.101.0
  • webpack-cli: ^6.0.1

Testing framework:

  • chai: ^4.5.0 (kept compatible version)
  • mocha: ^11.7.1
  • sinon: ^21.0.0
  • karma and related packages updated

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 addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-80872405 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=80872405 (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3980 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-80872405 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17874832258090027009,8312740462201406302,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3980 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-80872405 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17874832258090027009,8312740462201406302,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3980 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-80872405 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17874832258090027009,8312740462201406302,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3980 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-80872405 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17874832258090027009,8312740462201406302,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • www.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3793 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-25815469 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12421704620102392423,13375236669213494354,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-25815469 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=25815469 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@nsano-rururu nsano-rururu changed the base branch from master to vue3 August 11, 2025 12:07
@nsano-rururu
Copy link
Owner

@copilot
vue-demi will be deprecated in the future, so please only support vue3.

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot
vue-demi will be deprecated in the future, so please only support vue3.

I've removed vue-demi and updated the library to support Vue 3 only. The changes include:

  • Removed vue-demi dependency completely
  • Updated to use Vue 3 API directly (app.config.globalProperties, beforeUnmount lifecycle)
  • Updated all tests to use Vue 3 syntax
  • Updated documentation and examples to show Vue 3 usage
  • Updated peer dependencies to require Vue 3.0+ only

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 addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3574 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-26358815 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3888434905238353718,14789038416980010119,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-26358815 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=26358815 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3729 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-96277621 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,4260213843135145427,6489254493855121984,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3574 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-26358815 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3888434905238353718,14789038416980010119,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-26358815 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=26358815 (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-96277621 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=96277621 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3574 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-26358815 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3888434905238353718,14789038416980010119,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-26358815 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=26358815 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3729 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-96277621 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,4260213843135145427,6489254493855121984,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3574 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-26358815 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3888434905238353718,14789038416980010119,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-26358815 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=26358815 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3729 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-96277621 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,4260213843135145427,6489254493855121984,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3574 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-26358815 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3888434905238353718,14789038416980010119,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-26358815 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=26358815 (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-96277621 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=96277621 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Add Vue 2 & Vue 3 compatibility using vue-demi Remove vue-demi and add Vue 3 only support Aug 14, 2025
@nsano-rururu nsano-rururu changed the title Remove vue-demi and add Vue 3 only support Vue 3 only support Aug 14, 2025
@nsano-rururu
Copy link
Owner

@copilot
eslint 8 to 9 update

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot
eslint 8 to 9 update

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 addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3689 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-47407531 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12611313538933900057,640494308601818594,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-47407531 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=47407531 (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3689 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-47407531 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12611313538933900057,640494308601818594,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-47407531 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=47407531 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3689 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-47407531 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12611313538933900057,640494308601818594,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-47407531 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=47407531 (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3689 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-47407531 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12611313538933900057,640494308601818594,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-47407531 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=47407531 (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3689 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-47407531 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12611313538933900057,640494308601818594,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-47407531 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=47407531 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Vue 3 only support Vue 3 only support with ESLint 9 upgrade Aug 14, 2025
@nsano-rururu
Copy link
Owner

@copilot

Is vue-native-websocket compatible with both vuex and pinia?

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot

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:

  • Works seamlessly with Vuex stores
  • Uses standard store.commit() and store.dispatch() methods
  • All socket events are automatically forwarded to Vuex mutations/actions
  • Extensive test coverage and documentation examples included

Pinia Compatibility: ❌ (with workarounds available)

  • Pinia stores don't have global commit() and dispatch() methods like Vuex
  • The library would throw errors when trying to call these methods on a Pinia store

Workarounds for Pinia:

  1. Custom handler - Use the passToStoreHandler option to provide custom Pinia integration
  2. Store wrapper - Create a wrapper around your Pinia store that provides Vuex-like methods
  3. Manual integration - Handle socket events manually without store integration

Would you like me to add native Pinia support or provide documentation for these workarounds?

@nsano-rururu
Copy link
Owner

@copilot
There is a library that makes vue-native-websocket compatible with Vue 3. Also, the documentation states that it is compatible with Pinia.
https://github.com/likaia/vue-native-websocket-vue3

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot
There is a library that makes vue-native-websocket compatible with Vue 3. Also, the documentation states that it is compatible with Pinia.
https://github.com/likaia/vue-native-websocket-vu...

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.

@nsano-rururu
Copy link
Owner

@copilot
Please implement custom integration using the passToStoreHandler option. Please also update readme.md if necessary.

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot
Please implement custom integration using the passToStoreHandler option. Please also update readme.md if necessary.

I've implemented custom Pinia integration using the passToStoreHandler option. The implementation includes:

Enhanced Observer Logic:

  • Updated Observer to call passToStoreHandler without requiring a store object
  • Added support for passToStoreHandler to work independently of Vuex stores

Comprehensive Documentation:

  • Added detailed Pinia integration examples in README.md
  • Included basic and advanced Pinia integration patterns
  • Shows how to handle socket events with Pinia stores
  • Examples for both simple state updates and JSON message handling

Test Coverage:

  • Added test case to verify passToStoreHandler functionality works correctly

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 addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3453 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-83031713 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2690181765893872273,15384337450918213065,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-83031713 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=83031713 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3627 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-40414229 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5174691251786731026,560419580624998200,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3453 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-83031713 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2690181765893872273,15384337450918213065,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-83031713 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=83031713 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3627 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-40414229 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5174691251786731026,560419580624998200,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3453 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-83031713 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2690181765893872273,15384337450918213065,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-83031713 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=83031713 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3627 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-40414229 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5174691251786731026,560419580624998200,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3453 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-83031713 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2690181765893872273,15384337450918213065,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-83031713 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=83031713 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3627 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-40414229 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5174691251786731026,560419580624998200,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3453 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-83031713 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2690181765893872273,15384337450918213065,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-83031713 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=83031713 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3627 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-40414229 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5174691251786731026,560419580624998200,262144 --disable-features=PaintHolding --variations-seed-version (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Vue 3 only support with ESLint 9 upgrade Vue 3 only support with ESLint 9 upgrade and Pinia integration Aug 14, 2025
@nsano-rururu
Copy link
Owner

@copilot
I forgot to modify .nvmrc.
Please change to LTS node 22 and check if there are any problems with building and running tests.

Copy link
Author

Copilot AI commented Aug 14, 2025

@copilot
I forgot to modify .nvmrc.
Please change to LTS node 22 and check if there are any problems with building and running tests.

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 addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3515 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-24648305 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2618293573490964253,10149682265280714836,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-24648305 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=24648305 (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3515 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-24648305 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2618293573490964253,10149682265280714836,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-24648305 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=24648305 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3515 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-24648305 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2618293573490964253,10149682265280714836,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-24648305 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=24648305 (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3515 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-24648305 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2618293573490964253,10149682265280714836,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-24648305 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=24648305 (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-24648305 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --headless --disable-gpu --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=24648305 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --use-angle=swiftshader-webgl --crashpad-handler-pid=3515 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-24648305 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,2618293573490964253,10149682265280714836,262144 --disable-features=PaintHolding --variations-seed-version (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@nsano-rururu nsano-rururu removed their assignment Aug 14, 2025
@nsano-rururu
Copy link
Owner

@copilot

  • Replace Karma + Mocha + Sinon with Vitest + @vue/test-utils
  • Update test configuration to use Vitest configuration
  • Minimal changes to existing test files (mainly imports)
  • Keep existing test utilities and assertions

Copy link
Author

Copilot AI commented Aug 20, 2025

@copilot

  • Replace Karma + Mocha + Sinon with Vitest + @vue/test-utils
    ...

Successfully migrated from Karma + Mocha + Sinon to Vitest + @vue/test-utils. The migration includes:

  • Removed dependencies: Karma, Mocha, Sinon, Chai and all related plugins
  • Added modern stack: Vitest, @vue/test-utils, happy-dom for better performance
  • Updated configuration: Created vitest.config.js with proper alias resolution and coverage
  • Minimal test changes: Updated imports and mocking patterns while preserving all test logic
  • Fixed async patterns: Converted done() callbacks to async/await for better Vitest compatibility

All 15 tests pass successfully with improved performance and modern testing capabilities.

Commit: 9cc4029

Copilot AI changed the title Vue 3 only support with ESLint 9 upgrade and Pinia integration Vue 3 only support with ESLint 9 upgrade, Pinia integration, and Vitest migration Aug 20, 2025
@nsano-rururu
Copy link
Owner

@copilot

  • Uninstall unused npm libraries
  • Build and run test code

Copy link
Author

Copilot AI commented Aug 20, 2025

@copilot

  • Uninstall unused npm libraries
    ...

Removed unused npm libraries (exports-loader and script-loader) that were no longer needed after migrating from Karma to Vitest. Build and tests are working correctly - all 15 tests pass and the build completes successfully.

Commit: 2e5f0b1

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.

Compatible with both vue2 and vue3. Use vue-demi

2 participants