提交 c855a382 编写于 作者: G Guy Bedford 提交者: Joe Haddad

babel-loader, cache-loader

上级 84a46dfb
......@@ -687,7 +687,7 @@ export default async function getBaseWebpackConfig(
// Move Babel transpilation into a thread pool (2 workers, unlimited batch size).
// Applying a cache to the off-thread work avoids paying transfer costs for unchanged modules.
{
loader: 'cache-loader',
loader: 'next/dist/compiled/cache-loader',
options: {
cacheContext: dir,
cacheDirectory: path.join(dir, '.next', 'cache', 'webpack'),
......
import babelLoader from 'babel-loader'
import babelLoader from 'next/dist/compiled/babel-loader'
import { basename, join } from 'path'
import hash from 'next/dist/compiled/string-hash'
......
......@@ -74,13 +74,11 @@
"@babel/preset-typescript": "7.7.2",
"@babel/runtime": "7.7.2",
"@babel/types": "7.7.4",
"babel-loader": "8.0.6",
"babel-plugin-dynamic-import-node": "2.3.0",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-define": "2.0.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
"browserslist": "4.8.3",
"cache-loader": "4.1.0",
"css-loader": "3.3.0",
"cssnano-simple": "1.0.0",
"file-loader": "4.2.0",
......@@ -156,6 +154,8 @@
"async-retry": "1.2.3",
"async-sema": "3.0.0",
"autodll-webpack-plugin": "0.4.2",
"babel-loader": "8.0.6",
"cache-loader": "4.1.0",
"chalk": "2.4.2",
"ci-info": "2.0.0",
"compression": "1.7.4",
......
......@@ -33,14 +33,30 @@ export async function browser_polyfills(task) {
}
const externals = {
chokidar: 'chokidar',
// Babel
'@babel/core': '@babel/core',
// Browserslist (post-css plugins)
browserslist: 'browserslist',
// Webpack indirect and direct dependencies:
webpack: 'webpack',
// dependents: webpack-dev-middleware
'webpack/lib/node/NodeOutputFileSystem':
'webpack/lib/node/NodeOutputFileSystem',
chokidar: 'chokidar',
// dependents: babel-loader, async-retry, autodll-webpack-plugin, cache-loader
'find-cache-dir': 'find-cache-dir',
// dependents: thread-loader
'neo-async': 'neo-async',
'loader-runner': 'loader-runner',
// dependents: thread-loader, babel-loader
'loader-utils': 'loader-utils',
// dependents: babel-loader
mkdirp: 'mkdirp',
// dependents: thread-loader, cache-loader
'neo-async': 'neo-async',
// dependents: cache-loader, style-loader, file-loader
'schema-utils': 'schema-utils',
}
// eslint-disable-next-line camelcase
......@@ -90,6 +106,22 @@ export async function ncc_autodll_webpack_plugin(task, opts) {
.target('dist/compiled/autodll-webpack-plugin')
}
// eslint-disable-next-line camelcase
externals['babel-loader'] = 'next/dist/compiled/babel-loader'
export async function ncc_babel_loader(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('babel-loader')))
.ncc({ packageName: 'babel-loader', externals })
.target('dist/compiled/babel-loader')
}
// eslint-disable-next-line camelcase
externals['cache-loader'] = 'next/dist/compiled/cache-loader'
export async function ncc_cache_loader(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('cache-loader')))
.ncc({ packageName: 'cache-loader', externals })
.target('dist/compiled/cache-loader')
}
// eslint-disable-next-line camelcase
// NB: Used by other dependencies, but Zeit version is a duplicate
// version so can be inlined anyway (although may change in future)
externals['chalk'] = 'next/dist/compiled/chalk'
......@@ -430,6 +462,8 @@ export async function precompile(task) {
'ncc_async_retry',
'ncc_async_sema',
'ncc_autodll_webpack_plugin',
'ncc_babel_loader',
'ncc_cache_loader',
'ncc_chalk',
'ncc_ci_info',
'ncc_compression',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册