From 54fe645a554dbbacead6ce77b390ec1abf69044b Mon Sep 17 00:00:00 2001 From: sunhao Date: Tue, 24 Sep 2019 15:13:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=9B=E4=B8=80=E6=AD=A5=E5=AE=8C?= =?UTF-8?q?=E5=96=84=20corejs3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +++- packages/start/package.json | 1 + packages/start/yarn.lock | 30 +++++++++++++++---------- src/config/webpack.config.config.ts | 14 ++++++++++-- src/config/webpack.extensions.config.ts | 8 +------ src/utils/index.ts | 13 ++++++----- yarn.lock | 15 ++++++++----- 7 files changed, 53 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index bf75cd0..6cfe1aa 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "copy-webpack-plugin": "^5.0.4", "cross-env": "^5.2.0", "lodash": "^4.17.15", - "typescript": "^3.1.6", + "typescript": "^3.6.3", "vue": "^2.6.10", "vue-loader": "^15.4.2", "vue-router": "^3.0.1", @@ -116,6 +116,8 @@ "consola": "2.2.4", "cookie-parser": "^1.4.3", "core-js": "3", + "core-js-bundle": "3", + "core-js-pure": "3", "css-loader": "^1.0.1", "es6-promise": "^4.2.5", "express": "^4.17.1", diff --git a/packages/start/package.json b/packages/start/package.json index a12ba61..6d1c646 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -19,6 +19,7 @@ "npm": ">=5.0.0" }, "dependencies": { + "@babel/runtime-corejs3": "^7.6.2", "base64url": "^3.0.1", "compression": "^1.7.3", "consola": "2.2.4", diff --git a/packages/start/yarn.lock b/packages/start/yarn.lock index 00f7593..d2e4218 100644 --- a/packages/start/yarn.lock +++ b/packages/start/yarn.lock @@ -2,6 +2,14 @@ # yarn lockfile v1 +"@babel/runtime-corejs3@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.6.2.tgz#032d0ca5107747751bb31cbce2302f9a73bd824c" + integrity sha512-FX1ddj2gf7psgslvkkKeyxftnslUFDY9OHGnp+wJ+4JIKSEABB1fKVZiE7/2n+C9RVTPfPwpOqGmFf5TGvg0Bw== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.2" + accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -306,6 +314,11 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +core-js-pure@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.2.1.tgz#879a23699cff46175bfd2d09158b5c50645a3c45" + integrity sha512-+qpvnYrsi/JDeQTArB7NnNc2VoMYLE1YSkziCDHgjexC2KH7OFiGhLUd3urxfyWmNjSwSW7NYXPWHMhuIJx9Ow== + dayjs@^1.7.7: version "1.8.16" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.16.tgz#2a3771de537255191b947957af2fd90012e71e64" @@ -563,13 +576,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.1.0.tgz#ce672adc93cb3303513ec62b5b97bad510db028f" - integrity sha512-GQ4xcAfbMWx/Lly8PUHIn8/t2o7YEoMWnQ7nhJtjEJ1gs8I4Y+koc0GiraVMaSjc9Ghz99obkMau/tSK/ACEsQ== - dependencies: - type-fest "^0.6.0" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1065,6 +1071,11 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -1332,11 +1343,6 @@ type-fest@^0.5.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" diff --git a/src/config/webpack.config.config.ts b/src/config/webpack.config.config.ts index d4bbac4..8fcbd4c 100644 --- a/src/config/webpack.config.config.ts +++ b/src/config/webpack.config.config.ts @@ -3,10 +3,20 @@ import webpack from 'webpack' import merge from 'webpack-merge' import { getCommonConfig } from './webpack.common.config' -const babelLoder = { +export const babelLoder = { loader: 'babel-loader', options: { - presets: [['latest-node', { target: 'current' }]] + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current' + }, + corejs: { version: 3 } + } + ] + ] } } diff --git a/src/config/webpack.extensions.config.ts b/src/config/webpack.extensions.config.ts index 1b8156f..1700a38 100644 --- a/src/config/webpack.extensions.config.ts +++ b/src/config/webpack.extensions.config.ts @@ -3,6 +3,7 @@ import merge from 'webpack-merge' import nodeExternals from 'webpack-node-externals' import webpack from 'webpack' import consola from 'consola' +import { babelLoder } from './webpack.config.config' import { getCommonConfig } from './webpack.common.config' export function getExtensionsConfig( @@ -24,13 +25,6 @@ export function getExtensionsConfig( return process.exit(1) } - const babelLoder = { - loader: 'babel-loader', - options: { - presets: [['latest-node', { target: 'current' }]] - } - } - let resolve = {} if (options.webpack.server && options.webpack.server.resolve) { resolve = options.webpack.server.resolve diff --git a/src/utils/index.ts b/src/utils/index.ts index d3c85d0..6bfd15f 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,7 +1,11 @@ import { resolve } from 'path' import { ConfigOptions, BuildService } from '@types' -import { getClientConfig, getServerConfig, getClientConfigSync } from 'src.config' +import { + getClientConfig, + getServerConfig, + getClientConfigSync +} from 'src.config' import { existsSync, readFileSync } from 'fs' import consola from 'consola' import { createResolve } from 'src/utils/path' @@ -115,7 +119,8 @@ export function setBabelrc(options: ConfigOptions.options) { [ '@babel/plugin-transform-runtime', { - helpers: false + helpers: false, + corejs: 3 } ], '@babel/plugin-syntax-flow', @@ -170,9 +175,7 @@ export function setPublicPath(rootDir, path) { process.env.PUBLIC_PATH = path } -function baseSetWebpack( - options: ConfigOptions.options -) { +function baseSetWebpack(options: ConfigOptions.options) { options.webpack.server = getServerConfig(options) // const isProduction = mode ? mode !== 'development' : true // if (!isProduction) { diff --git a/yarn.lock b/yarn.lock index d72b4f5..1807c58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2383,7 +2383,12 @@ copy-webpack-plugin@^5.0.4: serialize-javascript "^1.7.0" webpack-log "^2.0.0" -core-js-pure@^3.0.0: +core-js-bundle@3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-bundle/-/core-js-bundle-3.2.1.tgz#264f563b51583179ebc8f180d7741c31b2e055e5" + integrity sha512-VbfmL66EqXkVDImfpK+kdxtvvb/IosyOmF18bOD1WHnOTPOBtS6VYV/Tgh3C2pIATTrEfM8UA3rsGIHiUUQV3A== + +core-js-pure@3, core-js-pure@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.2.1.tgz#879a23699cff46175bfd2d09158b5c50645a3c45" integrity sha512-+qpvnYrsi/JDeQTArB7NnNc2VoMYLE1YSkziCDHgjexC2KH7OFiGhLUd3urxfyWmNjSwSW7NYXPWHMhuIJx9Ow== @@ -7042,10 +7047,10 @@ typedarray@^0.0.6: resolved "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.1.6: - version "3.1.6" - resolved "http://registry.npm.taobao.org/typescript/download/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68" - integrity sha1-tlQ6g8/Iwr77P0yPumiW9bDJvmg= +typescript@^3.6.3: + version "3.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da" + integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw== uglify-es@^3.3.4: version "3.3.9"