@@ -2,7 +2,6 @@ const webpack = require('webpack');
22const { resolve, join } = require ( 'path' ) ;
33const { existsSync } = require ( 'fs' ) ;
44const { merge } = require ( 'webpack-merge' ) ;
5- const { filter } = require ( 'minimatch' ) ;
65const SizePlugin = require ( 'size-plugin' ) ;
76const CopyWebpackPlugin = require ( 'copy-webpack-plugin' ) ;
87const TerserPlugin = require ( 'terser-webpack-plugin' ) ;
@@ -14,21 +13,14 @@ const baseConfig = require('./webpack-base-config');
1413const { InjectManifest } = require ( 'workbox-webpack-plugin' ) ;
1514const CompressionPlugin = require ( 'compression-webpack-plugin' ) ;
1615const RefreshPlugin = require ( '@prefresh/webpack' ) ;
17- const { normalizePath , warn } = require ( '../../util' ) ;
16+ const { warn } = require ( '../../util' ) ;
1817const OptimizePlugin = require ( 'optimize-plugin' ) ;
1918
20- const cleanFilename = name =>
21- name . replace (
22- / ( ^ \/ ( r o u t e s | c o m p o n e n t s \/ ( r o u t e s | a s y n c ) ) \/ | ( \/ i n d e x ) ? \. [ j t ] s x ? $ ) / g,
23- ''
24- ) ;
25-
2619/**
2720 * @returns {Promise<import('webpack').Configuration> }
2821 */
2922async function clientConfig ( env ) {
3023 const { source, src } = env ;
31- const asyncLoader = require . resolve ( '@preact/async-loader' ) ;
3224
3325 let entry = {
3426 bundle : resolve ( __dirname , './../entry' ) ,
@@ -87,43 +79,9 @@ async function clientConfig(env) {
8779 }
8880 return env . isProd ? '[name].[chunkhash:5].js' : '[name].js' ;
8981 } ,
90- chunkFilename : '[name].chunk.[chunkhash:5].js' ,
91- } ,
92-
93- resolveLoader : {
94- alias : {
95- async : asyncLoader ,
96- } ,
97- } ,
98-
99- // automatic async components :)
100- module : {
101- rules : [
102- {
103- test : / \. [ j t ] s x ? $ / ,
104- include : [
105- filter ( source ( 'routes' ) + '/{*,*/index}.{js,jsx,ts,tsx}' ) ,
106- filter (
107- source ( 'components' ) +
108- '/{routes,async}/{*,*/index}.{js,jsx,ts,tsx}'
109- ) ,
110- ] ,
111- loader : asyncLoader ,
112- options : {
113- name ( filename ) {
114- filename = normalizePath ( filename ) ;
115- let relative = filename . replace ( normalizePath ( src ) , '' ) ;
116- if ( ! relative . includes ( '/routes/' ) ) return false ;
117- return 'route-' + cleanFilename ( relative ) ;
118- } ,
119- formatName ( filename ) {
120- filename = normalizePath ( filename ) ;
121- let relative = filename . replace ( normalizePath ( source ( '.' ) ) , '' ) ;
122- return cleanFilename ( relative ) ;
123- } ,
124- } ,
125- } ,
126- ] ,
82+ chunkFilename : env . isProd
83+ ? '[name].chunk.[chunkhash:5].js'
84+ : '[name].chunk.js' ,
12785 } ,
12886
12987 plugins : [
0 commit comments