diff --git a/package-lock.json b/package-lock.json index be73f0f..e0ac6b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,9 +51,9 @@ "@vitejs/plugin-vue": "^2.3.3", "sass": "^1.53.0", "ts-node": "^10.8.2", - "typescript": "^4.5.4", + "typescript": "^4.7.4", "vite": "^2.9.9", - "vue-tsc": "^0.34.7" + "vue-tsc": "^0.35.0" } }, "node_modules/@babel/parser": { @@ -624,42 +624,42 @@ } }, "node_modules/@volar/code-gen": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.34.17.tgz", - "integrity": "sha512-rHR7BA71BJ/4S7xUOPMPiB7uk6iU9oTWpEMZxFi5VGC9iJmDncE82WzU5iYpcbOBCVHsOjMh0+5CGMgdO6SaPA==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.35.2.tgz", + "integrity": "sha512-MoZHuNnPfUWnCNkQUI5+U+gvLTxrU+XlCTusdNOTFYUUAa+M68MH0RxFIS9Ybj4uAUWTcZx0Ow1q5t/PZozo+Q==", "dev": true, "dependencies": { - "@volar/source-map": "0.34.17" + "@volar/source-map": "0.35.2" } }, "node_modules/@volar/source-map": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.34.17.tgz", - "integrity": "sha512-3yn1IMXJGGWB/G817/VFlFMi8oh5pmE7VzUqvgMZMrppaZpKj6/juvJIEiXNxRsgWc0RxIO8OSp4htdPUg1Raw==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.35.2.tgz", + "integrity": "sha512-PFHh9wN/qMkOWYyvmB8ckvIzolrpNOvK5EBdxxdTpiPJhfYjW82rMDBnYf6RxCe7yQxrUrmve6BWVO7flxWNVQ==", "dev": true }, "node_modules/@volar/vue-code-gen": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.34.17.tgz", - "integrity": "sha512-17pzcK29fyFWUc+C82J3JYSnA+jy3QNrIldb9kPaP9Itbik05ZjEIyEue9FjhgIAuHeYSn4LDM5s6nGjxyfhsQ==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.35.2.tgz", + "integrity": "sha512-8H6P8EtN06eSVGjtcJhGqZzFIg6/nWoHVOlnhc5vKqC7tXwpqPbyMQae0tO7pLBd5qSb/dYU5GQcBAHsi2jgyA==", "dev": true, "dependencies": { - "@volar/code-gen": "0.34.17", - "@volar/source-map": "0.34.17", + "@volar/code-gen": "0.35.2", + "@volar/source-map": "0.35.2", "@vue/compiler-core": "^3.2.36", "@vue/compiler-dom": "^3.2.36", "@vue/shared": "^3.2.36" } }, "node_modules/@volar/vue-typescript": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.34.17.tgz", - "integrity": "sha512-U0YSVIBPRWVPmgJHNa4nrfq88+oS+tmyZNxmnfajIw9A/GOGZQiKXHC0k09SVvbYXlsjgJ6NIjhm9NuAhGRQjg==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.35.2.tgz", + "integrity": "sha512-PZI6Urb+Vr5Dvgf9xysM8X7TP09inWDy1wjDtprBoBhxS7r0Dg3V0qZuJa7sSGz7M0QMa5R/CBaZPhlxFCfJBw==", "dev": true, "dependencies": { - "@volar/code-gen": "0.34.17", - "@volar/source-map": "0.34.17", - "@volar/vue-code-gen": "0.34.17", + "@volar/code-gen": "0.35.2", + "@volar/source-map": "0.35.2", + "@volar/vue-code-gen": "0.35.2", "@vue/compiler-sfc": "^3.2.36", "@vue/reactivity": "^3.2.36" } @@ -2119,12 +2119,12 @@ } }, "node_modules/vue-tsc": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.34.17.tgz", - "integrity": "sha512-jzUXky44ZLHC4daaJag7FQr3idlPYN719/K1eObGljz5KaS2UnVGTU/XSYCd7d6ampYYg4OsyalbHyJIxV0aEQ==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.35.2.tgz", + "integrity": "sha512-aqY16VlODHzqtKGUkqdumNpH+s5ABCkufRyvMKQlL/mua+N2DfSVnHufzSNNUMr7vmOO0YsNg27jsspBMq4iGA==", "dev": true, "dependencies": { - "@volar/vue-typescript": "0.34.17" + "@volar/vue-typescript": "0.35.2" }, "bin": { "vue-tsc": "bin/vue-tsc.js" @@ -2536,42 +2536,42 @@ "requires": {} }, "@volar/code-gen": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.34.17.tgz", - "integrity": "sha512-rHR7BA71BJ/4S7xUOPMPiB7uk6iU9oTWpEMZxFi5VGC9iJmDncE82WzU5iYpcbOBCVHsOjMh0+5CGMgdO6SaPA==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.35.2.tgz", + "integrity": "sha512-MoZHuNnPfUWnCNkQUI5+U+gvLTxrU+XlCTusdNOTFYUUAa+M68MH0RxFIS9Ybj4uAUWTcZx0Ow1q5t/PZozo+Q==", "dev": true, "requires": { - "@volar/source-map": "0.34.17" + "@volar/source-map": "0.35.2" } }, "@volar/source-map": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.34.17.tgz", - "integrity": "sha512-3yn1IMXJGGWB/G817/VFlFMi8oh5pmE7VzUqvgMZMrppaZpKj6/juvJIEiXNxRsgWc0RxIO8OSp4htdPUg1Raw==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.35.2.tgz", + "integrity": "sha512-PFHh9wN/qMkOWYyvmB8ckvIzolrpNOvK5EBdxxdTpiPJhfYjW82rMDBnYf6RxCe7yQxrUrmve6BWVO7flxWNVQ==", "dev": true }, "@volar/vue-code-gen": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.34.17.tgz", - "integrity": "sha512-17pzcK29fyFWUc+C82J3JYSnA+jy3QNrIldb9kPaP9Itbik05ZjEIyEue9FjhgIAuHeYSn4LDM5s6nGjxyfhsQ==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.35.2.tgz", + "integrity": "sha512-8H6P8EtN06eSVGjtcJhGqZzFIg6/nWoHVOlnhc5vKqC7tXwpqPbyMQae0tO7pLBd5qSb/dYU5GQcBAHsi2jgyA==", "dev": true, "requires": { - "@volar/code-gen": "0.34.17", - "@volar/source-map": "0.34.17", + "@volar/code-gen": "0.35.2", + "@volar/source-map": "0.35.2", "@vue/compiler-core": "^3.2.36", "@vue/compiler-dom": "^3.2.36", "@vue/shared": "^3.2.36" } }, "@volar/vue-typescript": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.34.17.tgz", - "integrity": "sha512-U0YSVIBPRWVPmgJHNa4nrfq88+oS+tmyZNxmnfajIw9A/GOGZQiKXHC0k09SVvbYXlsjgJ6NIjhm9NuAhGRQjg==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.35.2.tgz", + "integrity": "sha512-PZI6Urb+Vr5Dvgf9xysM8X7TP09inWDy1wjDtprBoBhxS7r0Dg3V0qZuJa7sSGz7M0QMa5R/CBaZPhlxFCfJBw==", "dev": true, "requires": { - "@volar/code-gen": "0.34.17", - "@volar/source-map": "0.34.17", - "@volar/vue-code-gen": "0.34.17", + "@volar/code-gen": "0.35.2", + "@volar/source-map": "0.35.2", + "@volar/vue-code-gen": "0.35.2", "@vue/compiler-sfc": "^3.2.36", "@vue/reactivity": "^3.2.36" } @@ -3529,12 +3529,12 @@ "integrity": "sha512-Xp9fGJECns45v+v8jXbCIsAkCybYkEg0lNwr7Z6HDUSMyx2TEIK2giipPE+qXiShEc1Ipn+ZtttH2iq9hwXP4Q==" }, "vue-tsc": { - "version": "0.34.17", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.34.17.tgz", - "integrity": "sha512-jzUXky44ZLHC4daaJag7FQr3idlPYN719/K1eObGljz5KaS2UnVGTU/XSYCd7d6ampYYg4OsyalbHyJIxV0aEQ==", + "version": "0.35.2", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.35.2.tgz", + "integrity": "sha512-aqY16VlODHzqtKGUkqdumNpH+s5ABCkufRyvMKQlL/mua+N2DfSVnHufzSNNUMr7vmOO0YsNg27jsspBMq4iGA==", "dev": true, "requires": { - "@volar/vue-typescript": "0.34.17" + "@volar/vue-typescript": "0.35.2" } }, "vue-types": { diff --git a/package.json b/package.json index 916a61c..52892ae 100644 --- a/package.json +++ b/package.json @@ -51,8 +51,8 @@ "@vitejs/plugin-vue": "^2.3.3", "sass": "^1.53.0", "ts-node": "^10.8.2", - "typescript": "^4.5.4", + "typescript": "^4.7.4", "vite": "^2.9.9", - "vue-tsc": "^0.34.7" + "vue-tsc": "^0.35.0" } } diff --git a/vite.config.ts b/vite.config.ts index 315212d..53c9417 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,7 +1,33 @@ -import { defineConfig } from 'vite' +import { defineConfig, UserConfigExport } from 'vite' import vue from '@vitejs/plugin-vue' +import { resolve } from 'node:path'; +import { map } from 'lodash'; + +type ExportKey = 'ingame'|'ingame_vue'; +type BuildExports = Record>; // https://vitejs.dev/config/ -export default defineConfig({ - plugins: [vue()] +export default defineConfig(({ command, mode }) => { + + const target = 'hwe'; //방법이 있나? + const tsDir = resolve(__dirname, `${target}/ts/`); + + const build_exports: BuildExports = require(`${tsDir}/build_exports.json`); + + const ingame_vue_ts: Record = {}; + for(const [key, value] of Object.entries(build_exports.ingame_vue)){ + ingame_vue_ts[key] = `${tsDir}/${value}`; + } + + const config: UserConfigExport = { + build: { + rollupOptions: { + input: ingame_vue_ts, + }, + outDir: resolve(__dirname, `dist_js/version/ingame_vue`), + }, + plugins: [vue()] + } + + return config; })