Skip to content

Commit 8955d48

Browse files
author
Dennis Miasoutov
committed
Added tree shaking using ts-import-plugin.
1 parent 9448d55 commit 8955d48

File tree

14 files changed

+50
-21
lines changed

14 files changed

+50
-21
lines changed

app/entry/index.dev.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
// @ts-ignore
22
import * as AppModule from "injected-app-module";
33
import { hot } from "react-hot-loader/root";
4-
import { logger } from "redux-logger";
54

6-
const App = hot(AppModule.App);
7-
const devMiddlewares = [logger];
8-
9-
export { App, devMiddlewares };
5+
export default hot(AppModule.App);

app/entry/index.prod.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
// @ts-nocheck
22
import * as AppModule from "injected-app-module";
33

4-
const App = AppModule.App;
5-
const devMiddlewares = [];
6-
7-
export { App, devMiddlewares };
4+
export default AppModule.App;

app/flavors/basic/app.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { AppProps } from "../../common";
33
import { HelmetWrapper } from "../../components";
44

55
// @ts-ignore
6-
import * as InjectedAppModule from "injected-app-entry";
6+
import InjectedAppModule from "injected-app-entry";
77

88
export class App extends React.Component<AppProps> {
99
public render(): React.ReactNode {
1010
return (
1111
<HelmetWrapper helmetContext={this.props.context.helmetContext}>
12-
<InjectedAppModule.App />
12+
<InjectedAppModule />
1313
</HelmetWrapper>
1414
);
1515
}

app/flavors/router-redux/app.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import { AppProps } from "../../common";
55
import { HelmetWrapper } from "../../components";
66

77
// @ts-ignore
8-
import * as InjectedAppModule from "injected-app-entry";
8+
import InjectedAppModule from "injected-app-entry";
99

1010
export class App extends React.Component<AppProps> {
1111
public render(): React.ReactNode {
1212
return (
1313
<HelmetWrapper helmetContext={this.props.context.helmetContext}>
1414
<Provider store={this.props.context.store}>
1515
<ConnectedRouter history={this.props.context.history}>
16-
<InjectedAppModule.App />
16+
<InjectedAppModule />
1717
</ConnectedRouter>
1818
</Provider>
1919
</HelmetWrapper>

app/flavors/router-redux/createContext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import * as Redux from "redux";
77
import { Context } from "../../common";
88

99
// @ts-ignore
10-
import { devMiddlewares } from "injected-app-entry";
10+
import devMiddlewares from "injected-default-middlewares";
1111
import { middlewares, reducers } from "injected-app-module/store";
1212

1313
export function createContext(abstractHistory?: History): Context {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { logger } from "redux-logger";
2+
3+
export default [logger];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default [];

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
"react-hot-loader": "^4.12.18",
8282
"style-loader": "^1.0.1",
8383
"terser-webpack-plugin": "^2.3.1",
84+
"ts-import-plugin": "^1.6.2",
8485
"ts-loader": "6.2.1",
8586
"ts-node": "^8.5.4",
8687
"tsconfig-paths-webpack-plugin": "^3.2.0",

src/cli/commands/config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,12 @@ export function createConfigs(dir: string): webpack.Configuration[] {
150150
inject(configs, "injected-app-module", appRoot);
151151
inject(configs, "injected-flavor-module", flavorModule);
152152
inject(configs, "injected-ssr-module", ssrEntryPoint);
153+
// inject default middlewares
154+
inject(
155+
configs,
156+
"injected-default-middlewares",
157+
program.production ? "./middlewares/prod" : "./middlewares/dev",
158+
);
153159

154160
return configs;
155161
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import * as webpack from "webpack";
2+
3+
export const javascript: webpack.Rule = {
4+
test: /\.m?js$/,
5+
use: [
6+
{
7+
loader: "babel-loader",
8+
options: {
9+
presets: ["@babel/preset-env"],
10+
},
11+
},
12+
],
13+
};

0 commit comments

Comments
 (0)