Skip to content

Commit b2b0970

Browse files
authored
프론트 의존성 업데이트 진행 (#698)
* frontend gitignore에서 package-lock 제거 * 프론트 빌드 도구와 패키지 버전 갱신 * 차트와 코드 하이라이트 연동 갱신 * 홈 팝업과 추천 박스 화면 호환 수정 * 프론트 소규모 패키지 버전 갱신 * 프론트 ESLint 에러 정리 * 프론트 Node 24 Babel 8 ESLint 10 전환 * ECharts 레이더 컴포넌트 등록
1 parent e0a6609 commit b2b0970

93 files changed

Lines changed: 11414 additions & 471 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

frontend/.babelrc

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
{
22
"presets": [
33
[
4-
"env",
4+
"@babel/preset-env",
55
{
66
"modules": false,
77
"targets": {
88
"browsers": ["> 1%", "last 2 versions", "not ie <= 9"]
9-
},
10-
"useBuiltIns": true
9+
}
1110
}
12-
],
13-
"stage-2"
11+
]
1412
],
15-
"plugins": ["transform-runtime", "syntax-dynamic-import"],
16-
"env": {
17-
"test": {
18-
"presets": ["env", "stage-2"],
19-
"plugins": ["istanbul"]
20-
}
21-
}
13+
"plugins": [
14+
[
15+
"polyfill-corejs3",
16+
{
17+
"method": "entry-global"
18+
}
19+
],
20+
"@babel/plugin-transform-object-rest-spread",
21+
"@babel/plugin-transform-runtime"
22+
]
2223
}

frontend/.eslintignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

frontend/.eslintrc.js

Lines changed: 0 additions & 35 deletions
This file was deleted.

frontend/.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
package-lock.json
2-
31
# Logs
42
logs
53
*.log
@@ -69,4 +67,4 @@ test.vue
6967
# build
7068
vendor-manifest.json
7169
vendor.dll*.js
72-
70+
vendor.dll*.js.LICENSE.txt

frontend/.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
24.11.0

frontend/.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
language: node_js
22
node_js:
3-
- 8.12.0
3+
- 24.11.0
44
sudo: required
55
services:
66
- docker

frontend/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ARG SERVER_NAME
22

33
# Build stage
4-
FROM node:16 AS build-stage
4+
FROM node:24.11.0 AS build-stage
55

66
WORKDIR /app
77
COPY package*.json ./

frontend/build/dev-server.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const opn = require("opn")
1010
const path = require("path")
1111
const express = require("express")
1212
const webpack = require("webpack")
13-
const proxyMiddleware = require("http-proxy-middleware")
13+
const { createProxyMiddleware } = require("http-proxy-middleware")
1414
const webpackConfig = require("./webpack.dev.conf")
1515

1616
// default port where dev server listens for incoming traffic
@@ -26,7 +26,7 @@ const compiler = webpack(webpackConfig)
2626

2727
const devMiddleware = require("webpack-dev-middleware")(compiler, {
2828
publicPath: webpackConfig.output.publicPath,
29-
quiet: true,
29+
stats: "errors-warnings",
3030
})
3131

3232
const hotMiddleware = require("webpack-hot-middleware")(compiler, {
@@ -53,7 +53,10 @@ Object.keys(proxyTable).forEach(function (context) {
5353
if (typeof options === "string") {
5454
options = { target: options }
5555
}
56-
app.use(proxyMiddleware(options.filter || context, options))
56+
if (!options.target) {
57+
return
58+
}
59+
app.use(createProxyMiddleware(options.filter || context, options))
5760
})
5861

5962
// handle fallback for HTML5 history API

frontend/build/utils.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict"
22
const path = require("path")
33
const config = require("../config")
4-
const ExtractTextPlugin = require("extract-text-webpack-plugin")
4+
const MiniCssExtractPlugin = require("mini-css-extract-plugin")
55

66
exports.assetsPath = function (_path) {
77
const assetsSubDirectory =
@@ -17,7 +17,7 @@ exports.cssLoaders = function (options) {
1717
const cssLoader = {
1818
loader: "css-loader",
1919
options: {
20-
minimize: process.env.NODE_ENV === "production",
20+
esModule: false,
2121
sourceMap: options.sourceMap,
2222
},
2323
}
@@ -34,13 +34,8 @@ exports.cssLoaders = function (options) {
3434
})
3535
}
3636

37-
// Extract CSS when that option is specified
38-
// (which is the case during production build)
3937
if (options.extract) {
40-
return ExtractTextPlugin.extract({
41-
use: loaders,
42-
fallback: "vue-style-loader",
43-
})
38+
return [MiniCssExtractPlugin.loader].concat(loaders)
4439
} else {
4540
return ["vue-style-loader"].concat(loaders)
4641
}

frontend/build/webpack.base.conf.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const utils = require("./utils")
66
const config = require("../config")
77
const vueLoaderConfig = require("./vue-loader.conf")
88
const HtmlWebpackIncludeAssetsPlugin = require("html-webpack-include-assets-plugin")
9+
const VueLoaderPlugin = require("vue-loader/lib/plugin")
910

1011
function resolve(dir) {
1112
return path.join(__dirname, "..", dir)
@@ -70,7 +71,10 @@ module.exports = {
7071
},
7172
{
7273
test: /\.js$/,
73-
loader: "babel-loader?cacheDirectory=true",
74+
loader: "babel-loader",
75+
options: {
76+
cacheDirectory: true,
77+
},
7478
// include -> inclue 안에 있는 모듈 '만' babel이 로드 합니다.
7579
// exclude -> exclude 안에 있는 모듈 '만' babel 로드 시 제외 합니다.
7680
// 따라서 현재 include 안에 node_modules 가 없으므로, node_modules 안의 파일은 babel이 로드하지 않습니다.
@@ -88,6 +92,7 @@ module.exports = {
8892
loader: "url-loader",
8993
options: {
9094
limit: 10000,
95+
esModule: false,
9196
name: utils.assetsPath("img/[name].[hash:7].[ext]"),
9297
},
9398
},
@@ -96,6 +101,7 @@ module.exports = {
96101
loader: "url-loader",
97102
options: {
98103
limit: 10000,
104+
esModule: false,
99105
name: utils.assetsPath("media/[name].[hash:7].[ext]"),
100106
},
101107
},
@@ -104,12 +110,14 @@ module.exports = {
104110
loader: "url-loader",
105111
options: {
106112
limit: 10000,
113+
esModule: false,
107114
name: utils.assetsPath("fonts/[name].[hash:7].[ext]"),
108115
},
109116
},
110117
],
111118
},
112119
plugins: [
120+
new VueLoaderPlugin(),
113121
new webpack.DllReferencePlugin({
114122
context: __dirname,
115123
manifest: require("./vendor-manifest.json"),

0 commit comments

Comments
 (0)