babel-loader, cache-loader
This commit is contained in:
parent
84a46dfb8c
commit
c855a3828e
4 changed files with 40 additions and 6 deletions
|
@ -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'),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
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',
|
||||
|
|
Loading…
Reference in a new issue