Skip to content

Commit b7b8c1c

Browse files
committed
refactor: Closer but still a bunch of issues
1 parent a647dc3 commit b7b8c1c

File tree

18 files changed

+89
-15
lines changed

18 files changed

+89
-15
lines changed

packages/cli/lib/lib/babel-config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ module.exports = function (env) {
2525
],
2626
].filter(Boolean),
2727
plugins: [
28+
require.resolve('@rschristian/babel-plugin-webpack-chunk-name-comments'),
2829
[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }],
2930
isProd &&
3031
require.resolve('babel-plugin-transform-react-remove-prop-types'),

packages/cli/lib/lib/webpack/prerender.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ module.exports = async function (env, params) {
2626
);
2727
return '';
2828
}
29-
return await prerender(app, { ...params, url });
29+
return (await prerender(app, { ...params, url })).html;
3030
} catch (err) {
3131
let stack = stackTrace.parse(err).filter(s => s.getFileName() === entry)[0];
3232
if (!stack) {

packages/cli/lib/lib/webpack/render-html-plugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ module.exports = async function renderHTMLPlugin(config) {
9292
preRenderData: values,
9393
CLI_DATA: { preRenderData: { url, ...routeData } },
9494
ssr: config.prerender
95-
? (await prerender({ cwd, dest, src }, values)).html
95+
? await prerender({ cwd, dest, src }, values)
9696
: '',
9797
entrypoints,
9898
},

packages/cli/lib/lib/webpack/webpack-client-config.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ const cleanFilename = name =>
2323
''
2424
);
2525

26-
// TODO: Swap with the above when removing the async loader
27-
const cleanFilename2 = name =>
28-
(name = name.replace(/_/g, '-').replace(/(-index|-[jt]sx?$)/, ''));
29-
3026
/**
3127
* @returns {Promise<import('webpack').Configuration>}
3228
*/
@@ -91,12 +87,9 @@ async function clientConfig(env) {
9187
}
9288
return env.isProd ? '[name].[chunkhash:5].js' : '[name].js';
9389
},
94-
chunkFilename: pathData => {
95-
const chunkName = cleanFilename2(pathData.chunk.id);
96-
return env.isProd
97-
? `${chunkName}.chunk.[chunkhash:5].js`
98-
: `${chunkName}.chunk.js`;
99-
},
90+
chunkFilename: env.isProd
91+
? '[name].chunk.[chunkhash:5].js'
92+
: '[name].chunk.js',
10093
},
10194

10295
resolveLoader: {
@@ -180,7 +173,6 @@ function isProd(env) {
180173
cache: true,
181174

182175
optimization: {
183-
chunkIds: 'named',
184176
minimizer: [
185177
new TerserPlugin({
186178
extractComments: false,

packages/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
"@preact/async-loader": "^3.0.1",
8282
"@prefresh/babel-plugin": "^0.4.1",
8383
"@prefresh/webpack": "^3.2.2",
84+
"@rschristian/babel-plugin-webpack-chunk-name-comments": "^0.1.1",
8485
"@types/webpack": "^4.38.0",
8586
"autoprefixer": "^10.4.7",
8687
"babel-loader": "^8.2.5",
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { LocationProvider, Router } from 'preact-iso/router';
2+
import { default as lazy, ErrorBoundary } from 'preact-iso/lazy';
3+
4+
const Home = lazy(() => import('./routes/home.js'));
5+
const Route66 = lazy(() => import('./routes/route66.js'));
6+
const Route89 = lazy(() => import('./routes/route89.js'));
7+
import './style.css';
8+
9+
export default function App() {
10+
return (
11+
<LocationProvider>
12+
<ErrorBoundary>
13+
<Router>
14+
<Home path="/" />
15+
<Route66 path="/route66" />
16+
<Route89 path="/route89" />
17+
</Router>
18+
</ErrorBoundary>
19+
</LocationProvider>
20+
);
21+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"private": true,
3+
"name": "preact-preload-chunks"
4+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = function (config, env, helpers) {
2+
// TODO: clean up later, just removes the async loader
3+
if (env.isProd && !env.isServer) {
4+
config.module.rules.pop();
5+
}
6+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.home {
2+
background: red;
3+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { useBase } from '../useBase';
2+
import './home.css';
3+
4+
export default () => {
5+
const base = useBase();
6+
7+
return <div>{base}Home</div>;
8+
};

0 commit comments

Comments
 (0)