Skip to content

Commit

Permalink
babel-loader, cache-loader
Browse files Browse the repository at this point in the history
  • Loading branch information
guybedford authored and Timer committed Mar 30, 2020
1 parent 84a46df commit c855a38
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 6 deletions.
2 changes: 1 addition & 1 deletion packages/next/build/webpack-config.ts
Expand Up @@ -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'),
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/loaders/next-babel-loader.js
@@ -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'

Expand Down
4 changes: 2 additions & 2 deletions packages/next/package.json
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
38 changes: 36 additions & 2 deletions packages/next/taskfile.js
Expand Up @@ -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
Expand Down Expand Up @@ -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'
Expand Down Expand Up @@ -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',
Expand Down

0 comments on commit c855a38

Please sign in to comment.