From 3295d60d7cdc7a4d75416ca456813a9170633a43 Mon Sep 17 00:00:00 2001 From: fonghehe <331002675@qq.com> Date: Sat, 8 Nov 2025 01:06:42 +0800 Subject: [PATCH] chore: Migrate project from TypeScript to JavaScript --- build/{constant.ts => constant.js} | 0 build/{utils.ts => utils.js} | 4 +- .../plugins/{autoImport.ts => autoImport.js} | 3 +- .../plugins/{component.ts => component.js} | 1 - .../vite/plugins/{compress.ts => compress.js} | 2 - build/vite/plugins/{eruda.ts => eruda.js} | 0 .../vite/plugins/{imagemin.ts => imagemin.js} | 0 build/vite/plugins/{index.ts => index.js} | 5 +- build/vite/plugins/{mock.ts => mock.js} | 4 +- build/vite/plugins/{pages.ts => pages.js} | 2 +- .../vite/plugins/{progress.ts => progress.js} | 0 build/vite/plugins/{pwa.ts => pwa.js} | 0 build/vite/plugins/{qrcode.ts => qrcode.js} | 0 build/vite/plugins/{restart.ts => restart.js} | 0 build/vite/plugins/{ssl.ts => ssl.js} | 0 .../vite/plugins/{svgIcons.ts => svgIcons.js} | 2 +- .../plugins/{visualizer.ts => visualizer.js} | 3 +- build/vite/{proxy.ts => proxy.js} | 5 +- eslint.config.mjs | 35 +- index.html | 4 +- jsconfig.json | 8 + mock/{index.ts => index.js} | 11 +- package-lock.json | 981 ++++-------------- package.json | 18 +- pnpm-lock.yaml | 269 +---- src/App.vue | 2 +- src/api/{index.ts => index.js} | 0 src/i18n/{index.ts => index.js} | 8 +- src/i18n/lang/{en-us.ts => en-us.js} | 4 +- src/i18n/lang/lang-base.ts | 25 - src/i18n/lang/{zh-cn.ts => zh-cn.js} | 4 +- src/layout/index.vue | 4 +- src/{main.ts => main.js} | 0 src/router/{index.ts => index.js} | 3 +- src/router/{routes.ts => routes.js} | 0 src/store/{index.ts => index.js} | 0 src/store/modules/{user.ts => user.js} | 13 +- src/utils/request/{index.ts => index.js} | 19 +- .../{useAxiosApi.ts => useAxiosApi.js} | 2 +- .../{useFetchApi.ts => useFetchApi.js} | 0 src/views/demo/index.vue | 2 +- src/views/home/index.vue | 4 +- src/views/list/{data.ts => data.js} | 0 src/views/list/details/index.vue | 6 +- src/views/list/index.vue | 6 +- src/views/login/index.vue | 6 +- src/views/member/index.vue | 2 +- stylelint.config.js | 2 +- tsconfig.app.json | 25 - tsconfig.json | 14 - tsconfig.node.json | 22 - tsconfig.vitest.json | 11 - types/env.d.ts | 3 - types/global.d.ts | 76 -- types/index.d.ts | 27 - types/module.d.ts | 16 - types/utils.d.ts | 5 - vite.config.mts | 5 +- yarn.lock | 555 +++------- 59 files changed, 482 insertions(+), 1746 deletions(-) rename build/{constant.ts => constant.js} (100%) rename build/{utils.ts => utils.js} (90%) rename build/vite/plugins/{autoImport.ts => autoImport.js} (91%) rename build/vite/plugins/{component.ts => component.js} (95%) rename build/vite/plugins/{compress.ts => compress.js} (97%) rename build/vite/plugins/{eruda.ts => eruda.js} (100%) rename build/vite/plugins/{imagemin.ts => imagemin.js} (100%) rename build/vite/plugins/{index.ts => index.js} (93%) rename build/vite/plugins/{mock.ts => mock.js} (75%) rename build/vite/plugins/{pages.ts => pages.js} (87%) rename build/vite/plugins/{progress.ts => progress.js} (100%) rename build/vite/plugins/{pwa.ts => pwa.js} (100%) rename build/vite/plugins/{qrcode.ts => qrcode.js} (100%) rename build/vite/plugins/{restart.ts => restart.js} (100%) rename build/vite/plugins/{ssl.ts => ssl.js} (100%) rename build/vite/plugins/{svgIcons.ts => svgIcons.js} (87%) rename build/vite/plugins/{visualizer.ts => visualizer.js} (83%) rename build/vite/{proxy.ts => proxy.js} (78%) create mode 100644 jsconfig.json rename mock/{index.ts => index.js} (58%) rename src/api/{index.ts => index.js} (100%) rename src/i18n/{index.ts => index.js} (66%) rename src/i18n/lang/{en-us.ts => en-us.js} (85%) delete mode 100644 src/i18n/lang/lang-base.ts rename src/i18n/lang/{zh-cn.ts => zh-cn.js} (84%) rename src/{main.ts => main.js} (100%) rename src/router/{index.ts => index.js} (76%) rename src/router/{routes.ts => routes.js} (100%) rename src/store/{index.ts => index.js} (100%) rename src/store/modules/{user.ts => user.js} (79%) rename src/utils/request/{index.ts => index.js} (55%) rename src/utils/request/{useAxiosApi.ts => useAxiosApi.js} (69%) rename src/utils/request/{useFetchApi.ts => useFetchApi.js} (100%) rename src/views/list/{data.ts => data.js} (100%) delete mode 100644 tsconfig.app.json delete mode 100644 tsconfig.json delete mode 100644 tsconfig.node.json delete mode 100644 tsconfig.vitest.json delete mode 100644 types/env.d.ts delete mode 100644 types/global.d.ts delete mode 100644 types/index.d.ts delete mode 100644 types/module.d.ts delete mode 100644 types/utils.d.ts diff --git a/build/constant.ts b/build/constant.js similarity index 100% rename from build/constant.ts rename to build/constant.js diff --git a/build/utils.ts b/build/utils.js similarity index 90% rename from build/utils.ts rename to build/utils.js index 91ae322..007c36c 100644 --- a/build/utils.ts +++ b/build/utils.js @@ -1,6 +1,6 @@ // Read all environment variable configuration files to process.env -export function wrapperEnv(envConf: Recordable): ViteEnv { - const ret: any = {}; +export function wrapperEnv(envConf) { + const ret = {}; for (const envName of Object.keys(envConf)) { let realName = envConf[envName].replace(/\\n/g, '\n'); diff --git a/build/vite/plugins/autoImport.ts b/build/vite/plugins/autoImport.js similarity index 91% rename from build/vite/plugins/autoImport.ts rename to build/vite/plugins/autoImport.js index e5a60e9..fa8514b 100644 --- a/build/vite/plugins/autoImport.ts +++ b/build/vite/plugins/autoImport.js @@ -8,7 +8,6 @@ import { VarletUIResolver, VantResolver } from 'unplugin-vue-components/resolver export const ConfigAutoImportPlugin = () => { return AutoImport({ - dts: 'types/auto-imports.d.ts', imports: [ 'vue', 'pinia', @@ -17,8 +16,10 @@ export const ConfigAutoImportPlugin = () => { '@vueuse/core': [], }, ], + dts: false, eslintrc: { enabled: true, + globalsPropValue: true, }, resolvers: [VarletUIResolver(), VantResolver()], }); diff --git a/build/vite/plugins/component.ts b/build/vite/plugins/component.js similarity index 95% rename from build/vite/plugins/component.ts rename to build/vite/plugins/component.js index eb46f33..67ab0f5 100644 --- a/build/vite/plugins/component.ts +++ b/build/vite/plugins/component.js @@ -12,7 +12,6 @@ export const ConfigAutoComponentsPlugin = () => { // dirs: ['src/components'], extensions: ['vue', 'md'], deep: true, - dts: 'types/components.d.ts', directoryAsNamespace: false, globalNamespaces: [], directives: true, diff --git a/build/vite/plugins/compress.ts b/build/vite/plugins/compress.js similarity index 97% rename from build/vite/plugins/compress.ts rename to build/vite/plugins/compress.js index f75c0c2..d2178cb 100644 --- a/build/vite/plugins/compress.ts +++ b/build/vite/plugins/compress.js @@ -14,6 +14,4 @@ export const ConfigCompressPlugin = () => { algorithm: 'gzip', //压缩算法 ext: '.gz', //文件类型 }); - - return []; }; diff --git a/build/vite/plugins/eruda.ts b/build/vite/plugins/eruda.js similarity index 100% rename from build/vite/plugins/eruda.ts rename to build/vite/plugins/eruda.js diff --git a/build/vite/plugins/imagemin.ts b/build/vite/plugins/imagemin.js similarity index 100% rename from build/vite/plugins/imagemin.ts rename to build/vite/plugins/imagemin.js diff --git a/build/vite/plugins/index.ts b/build/vite/plugins/index.js similarity index 93% rename from build/vite/plugins/index.ts rename to build/vite/plugins/index.js index 16f4d15..19cc71e 100644 --- a/build/vite/plugins/index.ts +++ b/build/vite/plugins/index.js @@ -3,7 +3,6 @@ * @description 封装plugins数组统一调用 */ -import type { PluginOption } from 'vite'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import { ConfigSvgIconsPlugin } from './svgIcons'; @@ -21,10 +20,10 @@ import { ConfigSslPlugin } from './ssl'; import { ConfigQrcodePlugin } from './qrcode'; import { ConfigPwaPlugin } from './pwa'; -export function createVitePlugins(env: ViteEnv, isBuild: boolean) { +export function createVitePlugins(env, isBuild) { const { VITE_USE_MOCK, VITE_USE_ERUDA, VITE_USE_COMPRESS, VITE_USE_REPORT, VITE_USE_HTTPS, VITE_USE_PWA } = env; - const vitePlugins: (PluginOption | PluginOption[])[] = [ + const vitePlugins = [ // vue支持 vue(), // JSX支持 diff --git a/build/vite/plugins/mock.ts b/build/vite/plugins/mock.js similarity index 75% rename from build/vite/plugins/mock.ts rename to build/vite/plugins/mock.js index ee74193..f86c012 100644 --- a/build/vite/plugins/mock.ts +++ b/build/vite/plugins/mock.js @@ -4,9 +4,9 @@ */ import { viteMockServe } from 'vite-plugin-mock'; -export const ConfigMockPlugin = (isBuild: boolean) => { +export const ConfigMockPlugin = (isBuild) => { return viteMockServe({ - ignore: /^\_/, + ignore: /^_/, mockPath: 'mock', enable: !isBuild, logger: !isBuild, diff --git a/build/vite/plugins/pages.ts b/build/vite/plugins/pages.js similarity index 87% rename from build/vite/plugins/pages.ts rename to build/vite/plugins/pages.js index 8b385e3..93abe78 100644 --- a/build/vite/plugins/pages.ts +++ b/build/vite/plugins/pages.js @@ -8,7 +8,7 @@ import Pages from 'vite-plugin-pages'; export const ConfigPagesPlugin = () => { return Pages({ dirs: 'src/pages', - extensions: ['vue', 'ts'], + extensions: ['vue'], importMode: 'async', }); }; diff --git a/build/vite/plugins/progress.ts b/build/vite/plugins/progress.js similarity index 100% rename from build/vite/plugins/progress.ts rename to build/vite/plugins/progress.js diff --git a/build/vite/plugins/pwa.ts b/build/vite/plugins/pwa.js similarity index 100% rename from build/vite/plugins/pwa.ts rename to build/vite/plugins/pwa.js diff --git a/build/vite/plugins/qrcode.ts b/build/vite/plugins/qrcode.js similarity index 100% rename from build/vite/plugins/qrcode.ts rename to build/vite/plugins/qrcode.js diff --git a/build/vite/plugins/restart.ts b/build/vite/plugins/restart.js similarity index 100% rename from build/vite/plugins/restart.ts rename to build/vite/plugins/restart.js diff --git a/build/vite/plugins/ssl.ts b/build/vite/plugins/ssl.js similarity index 100% rename from build/vite/plugins/ssl.ts rename to build/vite/plugins/ssl.js diff --git a/build/vite/plugins/svgIcons.ts b/build/vite/plugins/svgIcons.js similarity index 87% rename from build/vite/plugins/svgIcons.ts rename to build/vite/plugins/svgIcons.js index 72f62ab..2e259e6 100644 --- a/build/vite/plugins/svgIcons.ts +++ b/build/vite/plugins/svgIcons.js @@ -6,7 +6,7 @@ import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; import path from 'path'; -export const ConfigSvgIconsPlugin = (isBuild: boolean) => { +export const ConfigSvgIconsPlugin = (isBuild) => { return createSvgIconsPlugin({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], diff --git a/build/vite/plugins/visualizer.ts b/build/vite/plugins/visualizer.js similarity index 83% rename from build/vite/plugins/visualizer.ts rename to build/vite/plugins/visualizer.js index 776313f..36582e6 100644 --- a/build/vite/plugins/visualizer.ts +++ b/build/vite/plugins/visualizer.js @@ -4,7 +4,6 @@ */ import { visualizer } from 'rollup-plugin-visualizer'; -import type { PluginOption } from 'vite'; export const ConfigVisualizerPlugin = () => { return visualizer({ @@ -12,5 +11,5 @@ export const ConfigVisualizerPlugin = () => { open: true, gzipSize: true, brotliSize: true, - }) as PluginOption; + }); }; diff --git a/build/vite/proxy.ts b/build/vite/proxy.js similarity index 78% rename from build/vite/proxy.ts rename to build/vite/proxy.js index 4a2511a..ea33756 100644 --- a/build/vite/proxy.ts +++ b/build/vite/proxy.js @@ -1,9 +1,6 @@ import { API_BASE_URL, API_TARGET_URL, MOCK_API_BASE_URL, MOCK_API_TARGET_URL } from '../constant'; -import type { ProxyOptions } from 'vite'; -type ProxyTargetList = Record; - -const init: ProxyTargetList = { +const init = { // test [API_BASE_URL]: { target: API_TARGET_URL, diff --git a/eslint.config.mjs b/eslint.config.mjs index 0841be6..ee47d6e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,22 +1,29 @@ -import { globalIgnores } from 'eslint/config'; -import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; -import pluginVue from 'eslint-plugin-vue'; -import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'; +import { defineConfig, globalIgnores } from 'eslint/config' +import globals from 'globals' +import js from '@eslint/js' +import pluginVue from 'eslint-plugin-vue' +import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' +import fs from 'fs' -export default defineConfigWithVueTs( - pluginVue.configs['flat/essential'], - vueTsConfigs.recommended, +const autoImport = JSON.parse(fs.readFileSync('./.eslintrc-auto-import.json', 'utf8')) +export default defineConfig([ + js.configs.recommended, + ...pluginVue.configs['flat/essential'], skipFormatting, { name: 'app/files-to-lint', - files: ['**/*.{ts,mts,tsx,vue}'], - rules: { - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }], - 'vue/multi-word-component-names': 'off', + files: ['**/*.{js,mjs,jsx,vue}'], + rules:{ + "vue/multi-word-component-names": "off" + }, + languageOptions: { + globals: { + ...globals.node, + ...globals.browser, + ...autoImport.globals, + }, }, }, - globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), -); +]) diff --git a/index.html b/index.html index ec0e8b8..7fbaecb 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + @@ -12,7 +12,7 @@
- + +