Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jun 27, 2025

  • Vue 3 migration with Vuex 4
  • Vue CLI to Vite migration
  • Test framework modernization (Jest to Vitest)
  • Dependency updates and security fixes
  • Code quality improvements (ESLint, SASS)
  • Prettycron integration (GitHub fork)
  • Knip dead code analysis tooling
  • Manual chunking for optimized builds
  • Library updates: unplugin-icons 22.5.0, vite 7.3.0, vue-echarts 8.0.1, echarts 6.0.0
  • Latest updates: eslint 9.39.2, vue 3.5.26, vitest 4.0.16, vue-router 4.6.4, knip 5.76.3, sass 1.97.1, js-yaml 4.1.1

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits June 27, 2025 16:19
Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Copilot AI changed the title [WIP] [2.0.0]Vue 2.7→3.x Migrate Praeco from Vue 2.7 to Vue 3.x with Element Plus and updated dependencies Jun 27, 2025
Copilot AI requested a review from nsano-rururu June 27, 2025 16:39
@nsano-rururu
Copy link
Collaborator

ConfigAlertDiscord.vue, ConfigAlertMattermost.vue, ConfigAlertRocketChat.vue, ConfigAlertSlack.vue

import { Picker, Emoji, EmojiIndex } from 'emoji-mart-vue-fast';

to

import { Picker, Emoji, EmojiIndex } from 'emoji-mart-vue-fast/src';

@nsano-rururu
Copy link
Collaborator

DateTime.vue,ConfigTest.vue,ConfigBuilder.vue

destroyed

to

unmounted

@nsano-rururu
Copy link
Collaborator

nsano-rururu commented Jun 27, 2025

vue.config.js
https://element-plus.org/en-US/guide/quickstart#webpack

add

const AutoImport = require('unplugin-auto-import/webpack');
const Components = require('unplugin-vue-components/webpack');
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers');
const ICons = require('unplugin-icons/webpack');

add plugins

      ICons.default({ /* options */ }),
      AutoImport.default({
        resolvers: [ElementPlusResolver()],
      }),
      Components.default({
        resolvers: [ElementPlusResolver()],
      }),

package.json

npm i -D unplugin-auto-import
npm i -D unplugin-vue-components
npm i -D unplugin-icons



src/components/ESChart.vue

icon="el-icon-time" />

to

:icon="ElIconClock" />

src/components/ExpandableAlert.vue

 icon="el-icon-arrow-right"

to

 :icon="ElIconArrowRight"
 icon="el-icon-arrow-down"

to

:icon="ElIconArrowDown"

src/components/config/ConfigTest.vue

<i v-if="!testPopoverVisible" class="el-icon-caret-bottom el-icon-right" />
<i v-if="testPopoverVisible" class="el-icon-caret-top el-icon-right" />

to

<el-icon v-if="!testPopoverVisible" class="el-icon-right"><el-icon-caret-bottom /></el-icon>
<el-icon v-if="testPopoverVisible" class="el-icon-right"><el-icon-caret-top /></el-icon>
 <i class="el-icon-loading" />

to

<el-icon><el-icon-loading /></el-icon>

src/components/config/ConfigTimeWindowFeature.vue

  :picker-options="{
    start: '00:00',
    step: '00:15',
    end: '23:59',
  }"

to

 start="00:00"
  step="00:15"
  end="23:59"

src/components/config/ConfigCondition.vue
src/components/config/ConfigKibanaDiscover.vue
src/components/config/alert/ConfigAlertAlerta.vue
src/components/config/alert/ConfigAlertCommand.vue
src/components/config/alert/ConfigAlertGoogleChat.vue
src/components/config/alert/ConfigAlertHttpPost.vue
src/components/config/alert/ConfigAlertHttpPost2.vue
src/components/config/alert/ConfigAlertMatrixHookshot.vue
src/components/config/alert/ConfigAlertMattermost.vue
src/components/config/alert/ConfigAlertMsPowerAutomate.vue
src/components/config/alert/ConfigAlertPagerDuty.vue
src/components/config/alert/ConfigAlertRocketChat.vue
src/components/config/alert/ConfigAlertServiceNow.vue
src/components/config/alert/ConfigAlertSlack.vue
src/components/config/alert/ConfigAlertSubjectBody.vue
src/components/config/alert/ConfigAlertTencentSms.vue
src/components/config/alert/ConfigAlertTheHive.vue
src/views/RuleView.vue
src/views/TemplateView.vue

 icon="el-icon-delete"

to

:icon="ElIconDelete"

src/views/RuleView.vue

<el-button icon="el-icon-edit" plain type="primary">

to

<el-button :icon="ElIconEdit" plain type="primary">
<i v-if="!silencePopoverVisible" class="el-icon-caret-bottom el-icon-right" />
<i v-if="silencePopoverVisible" class="el-icon-caret-top el-icon-right" />

to

<el-icon v-if="!silencePopoverVisible" class="el-icon-right">
  <el-icon-caret-bottom />
</el-icon>
<el-icon v-if="silencePopoverVisible" class="el-icon-right">
  <el-icon-caret-top />
</el-icon>

src/views/TemplateView.vue

<el-button icon="el-icon-plus" plain type="primary">

to

<el-button :icon="ElIconPlus" plain type="primary">

@nsano-rururu
Copy link
Collaborator

Please fix .eslintrc.js. It is suppressing errors from vue3's eslint-vue-plugin.
image
image
image
image

@nsano-rururu
Copy link
Collaborator

Please retry the pull request.

Copy link
Contributor Author

Copilot AI commented Jun 30, 2025

ConfigAlertDiscord.vue, ConfigAlertMattermost.vue, ConfigAlertRocketChat.vue, ConfigAlertSlack.vue

...

Fixed emoji-mart-vue-fast import paths to use '/src' in ConfigAlertDiscord.vue, ConfigAlertMattermost.vue, ConfigAlertRocketChat.vue, and ConfigAlertSlack.vue.

DateTime.vue,ConfigTest.vue,ConfigBuilder.vue

destroyed
...

Changed destroyed lifecycle hook to unmounted in DateTime.vue, ConfigTest.vue, and ConfigBuilder.vue for Vue 3 compatibility.

Please fix .eslintrc.js. It is suppressing errors from vue3's eslint-vue-plugin.
image
![image](https://github.com...

Fixed .eslintrc.js by removing Vue 3 rule suppressions that were preventing legitimate Vue 3 linting errors from being shown. Commit ac2415c removes the TODO overrides that were suppressing vue/no-deprecated-destroyed-lifecycle, vue/no-deprecated-v-on-native-modifier, vue/no-deprecated-v-bind-sync, and vue/v-on-event-hyphenation rules.

vue.config.js
https://element-plus.org/en-US/guide/quickstart#webpack

...

Added Element Plus webpack dependencies (unplugin-auto-import, unplugin-vue-components, unplugin-icons) to package.json and updated vue.config.js with the required plugins. Updated time picker configurations to use Element Plus format (removed picker-options, added start/step/end as props). Updated icon usage throughout components to use Element Plus format. The ESLint Vue 3 errors are now properly showing legitimate compatibility issues that need to be addressed. Commits ac2415c and 0f82e53.

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:

  • download.cypress.io
    • Triggering command: node index.js --exec install (dns block)

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

Copilot AI and others added 2 commits June 30, 2025 17:43
…ESLint suppressions

Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
@nsano-rururu
Copy link
Collaborator

@copilot

 unplugin-icons                        22.3.0  →   22.4.2
 vite                                  ^7.1.7  →   ^7.1.9
 vue-echarts                           ^7.0.3  →   ^8.0.1

@nsano-rururu
Copy link
Collaborator

@copilot

 @eslint/js                           ^9.36.0  →  ^9.37.0
 @fortawesome/fontawesome-svg-core      7.0.1  →    7.1.0
 @fortawesome/free-brands-svg-icons     7.0.1  →    7.1.0
 @fortawesome/free-regular-svg-icons    7.0.1  →    7.1.0
 @fortawesome/free-solid-svg-icons      7.0.1  →    7.1.0
 chai                                   6.0.1  →    6.2.0
 core-js                              ^3.45.1  →  ^3.46.0
 echarts                               ^5.6.0  →   ^6.0.0
 eslint                               ^9.36.0  →  ^9.37.0
 knip                                 ^5.64.1  →  ^5.65.0
 semver                                 7.7.2  →    7.7.3

….0.1, echarts 6.0.0

Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 13, 2025

@copilot

...

Updated all requested packages:

  • unplugin-icons: 22.3.0 → 22.4.2
  • vite: ^7.1.7 → ^7.1.9
  • vue-echarts: ^7.0.3 → ^8.0.1
  • echarts: ^5.6.0 → ^6.0.0 (required peer dependency for vue-echarts 8.0.1)

Build completes successfully with no errors or warnings. All security vulnerabilities resolved (0 remaining).

Commit 0a2e89a

…re-js 3.46.0, knip 5.65.0, semver 7.7.3

Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 13, 2025

@copilot

 @eslint/js                           ^9.36.0  →  ^9.37.0

...

Updated all requested packages:

  • @eslint/js: ^9.36.0 → ^9.37.0
  • @fortawesome/fontawesome-svg-core: 7.0.1 → 7.1.0
  • @fortawesome/free-brands-svg-icons: 7.0.1 → 7.1.0
  • @fortawesome/free-regular-svg-icons: 7.0.1 → 7.1.0
  • @fortawesome/free-solid-svg-icons: 7.0.1 → 7.1.0
  • chai: 6.0.1 → 6.2.0
  • core-js: ^3.45.1 → ^3.46.0
  • eslint: ^9.36.0 → ^9.37.0
  • knip: ^5.64.1 → ^5.65.0
  • semver: 7.7.2 → 7.7.3

Note: echarts was already updated to ^6.0.0 in the previous commit.

Build completes successfully with no errors or warnings. All security vulnerabilities remain at 0.

Commit 9e0c1fa

@nsano-rururu
Copy link
Collaborator

@copilot

  • Library Update
 axios                       1.12.2  →     1.13.1
 element-plus               ^2.11.4  →    ^2.11.5
 eslint                     ^9.37.0  →    ^9.38.0
 eslint-plugin-vue          ^10.5.0  →    ^10.5.1
 jsdom                      ^27.0.0  →    ^27.0.1
 knip                       ^5.65.0  →    ^5.66.4
 unplugin-icons             ^22.4.2  →    ^22.5.0
 unplugin-vue-components     29.1.0  →     30.0.0
 validator                ^13.15.15  →  ^13.15.20
 vite                        ^7.1.9  →    ^7.1.12
 vitest                      ^3.2.4  →     ^4.0.5
 vue-json-pretty             ^2.5.0  →     ^2.6.0
 vue-router                  ^4.5.1  →     ^4.6.3
  • .nvmrc

22.21.0 → 22.21.1

…, vitest 4.0.5, vite 7.1.12, and others; update Node.js to 22.21.1

Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 29, 2025

@copilot

  • Library Update
    ...

Updated all requested packages and Node.js version:

Package updates:

  • axios: 1.12.2 → 1.13.1
  • element-plus: ^2.11.4 → ^2.11.5
  • eslint: ^9.37.0 → ^9.38.0
  • eslint-plugin-vue: ^10.5.0 → ^10.5.1
  • jsdom: ^27.0.0 → ^27.0.1
  • knip: ^5.65.0 → ^5.66.4
  • unplugin-icons: ^22.4.2 → ^22.5.0
  • unplugin-vue-components: 29.1.0 → 30.0.0
  • validator: ^13.15.15 → ^13.15.20
  • vite: ^7.1.9 → ^7.1.12
  • vitest: ^3.2.4 → ^4.0.5
  • @vitest/coverage-v8: ^3.2.4 → ^4.0.5 (updated to match vitest)
  • vue-json-pretty: ^2.5.0 → ^2.6.0
  • vue-router: ^4.5.1 → ^4.6.3

Node.js version:

  • .nvmrc: 22.20.0 → 22.21.1

Build completes successfully in 12.53s with no errors or warnings. All security vulnerabilities remain at 0.

Commit b5dfb6f

@nsano-rururu
Copy link
Collaborator

@copilot
Library Update

 eslint                  ^9.38.0  →    ^9.39.2
 eslint-plugin-vue       ^10.5.1  →    ^10.6.2
 globals                 ^16.4.0  →    ^16.5.0
 js-yaml                   4.1.0  →      4.1.1
 jsdom                   ^27.0.1  →    ^27.3.0
 knip                    ^5.66.4  →    ^5.76.3
 sass                    ^1.93.2  →    ^1.97.1
 unplugin-auto-import     20.2.0  →     20.3.0
 validator             ^13.15.20  →  ^13.15.26
 vite                    ^7.1.12  →     ^7.3.0
 vitest                   ^4.0.5  →    ^4.0.16
 vue                     ^3.5.22  →    ^3.5.26
 vue-router               ^4.6.3  →     ^4.6.4

…0.16, knip 5.76.3, sass 1.97.1, and others

Co-authored-by: nsano-rururu <22293449+nsano-rururu@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 22, 2025

@copilot
Library Update

...

Updated all requested packages:

Package updates:

  • eslint: ^9.38.0 → ^9.39.2
  • eslint-plugin-vue: ^10.5.1 → ^10.6.2
  • globals: ^16.4.0 → ^16.5.0
  • js-yaml: 4.1.0 → 4.1.1
  • jsdom: ^27.0.1 → ^27.3.0
  • knip: ^5.66.4 → ^5.76.3
  • sass: ^1.93.2 → ^1.97.1
  • unplugin-auto-import: 20.2.0 → 20.3.0
  • validator: ^13.15.20 → ^13.15.26
  • vite: ^7.1.12 → ^7.3.0
  • vitest: ^4.0.5 → ^4.0.16
  • @vitest/coverage-v8: ^4.0.5 → ^4.0.16 (updated to match vitest)
  • vue: ^3.5.22 → ^3.5.26
  • vue-router: ^4.6.3 → ^4.6.4

Build completes successfully in 13.53s with no errors or warnings. All security vulnerabilities resolved (0 remaining).

Commit dbe5c31

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.

[2.0.0]Vue 2.7→3.x

2 participants