Skip to content

Commit cfcd17b

Browse files
committed
webpack setup
1 parent 088a38e commit cfcd17b

File tree

4 files changed

+216
-216
lines changed

4 files changed

+216
-216
lines changed

webpack/config.dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,20 @@ module.exports = {
2929
publicPath: '/'
3030
},
3131
resolve: {
32-
extensions: ['.js', '.jsx'],
32+
extensions: ['.js', '.jsx', '.ts', '.tsx'],
3333
modules: ['client', 'node_modules'],
3434
fallback: {
3535
os: require.resolve('os-browserify/browser')
3636
}
3737
},
3838
plugins: [
3939
new ESLintPlugin({
40-
extensions: ['js', 'jsx']
40+
extensions: ['js', 'jsx', 'ts', 'tsx']
4141
}),
4242
new webpack.HotModuleReplacementPlugin(),
4343
new ReactRefreshPlugin({
4444
overlay: {
45-
sockIntegration: 'whm',
45+
sockIntegration: 'whm'
4646
}
4747
}),
4848
new webpack.DefinePlugin({
@@ -62,7 +62,7 @@ module.exports = {
6262
module: {
6363
rules: [
6464
{
65-
test: /\.jsx?$/,
65+
test: /\.[jt]sx?$/,
6666
exclude: [/node_modules/, /.+\.config.js/],
6767
use: [
6868
{
@@ -97,11 +97,11 @@ module.exports = {
9797
oneOf: [
9898
{
9999
resourceQuery: /byContent/,
100-
type: 'asset/source',
100+
type: 'asset/source'
101101
},
102102
{
103103
resourceQuery: /byUrl/,
104-
type: 'asset/resource',
104+
type: 'asset/resource'
105105
},
106106
{
107107
use: {

webpack/config.examples.js

Lines changed: 75 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,95 @@
11
const path = require('path');
22
const nodeExternals = require('webpack-node-externals');
33

4-
module.exports = [{
5-
entry: path.resolve(__dirname, '../server/scripts/fetch-examples.js'),
6-
mode: 'production',
7-
output: {
8-
path: path.resolve(__dirname, '../dist/'),
9-
filename: 'fetch-examples.bundle.js'
10-
},
4+
module.exports = [
5+
{
6+
entry: path.resolve(__dirname, '../server/scripts/fetch-examples.js'),
7+
mode: 'production',
8+
output: {
9+
path: path.resolve(__dirname, '../dist/'),
10+
filename: 'fetch-examples.bundle.js'
11+
},
1112

12-
target: 'node',
13+
target: 'node',
1314

14-
externals: [nodeExternals()],
15+
externals: [nodeExternals()],
1516

16-
resolve: {
17-
extensions: ['*', '.js', '.jsx'],
18-
modules: [
19-
'client',
20-
'node_modules',
21-
],
22-
},
17+
resolve: {
18+
extensions: ['*', '.js', '.jsx'],
19+
modules: ['client', 'node_modules']
20+
},
2321

24-
module: {
25-
rules: [
26-
{
27-
test: /\.js$/,
28-
exclude: /node_modules/,
29-
loader: 'babel-loader',
30-
options: {
31-
babelrc: true
22+
module: {
23+
rules: [
24+
{
25+
test: /\.js$/,
26+
exclude: /node_modules/,
27+
loader: 'babel-loader',
28+
options: {
29+
babelrc: true
30+
}
3231
}
33-
}
34-
],
35-
},
36-
},
37-
{
38-
entry: path.resolve(__dirname, '../server/scripts/fetch-examples-gg.js'),
39-
mode: 'production',
40-
output: {
41-
path: path.resolve(__dirname, '../dist/'),
42-
filename: 'fetch-examples-gg.bundle.js'
32+
]
33+
}
4334
},
35+
{
36+
entry: path.resolve(__dirname, '../server/scripts/fetch-examples-gg.js'),
37+
mode: 'production',
38+
output: {
39+
path: path.resolve(__dirname, '../dist/'),
40+
filename: 'fetch-examples-gg.bundle.js'
41+
},
4442

45-
target: 'node',
43+
target: 'node',
4644

47-
externals: [nodeExternals()],
45+
externals: [nodeExternals()],
4846

49-
resolve: {
50-
extensions: ['*', '.js', '.jsx'],
51-
modules: [
52-
'client',
53-
'node_modules',
54-
],
55-
},
47+
resolve: {
48+
extensions: ['*', '.js', '.jsx'],
49+
modules: ['client', 'node_modules']
50+
},
5651

57-
module: {
58-
rules: [
59-
{
60-
test: /\.js$/,
61-
exclude: /node_modules/,
62-
loader: 'babel-loader',
63-
options: {
64-
babelrc: true
52+
module: {
53+
rules: [
54+
{
55+
test: /\.js$/,
56+
exclude: /node_modules/,
57+
loader: 'babel-loader',
58+
options: {
59+
babelrc: true
60+
}
6561
}
66-
}
67-
],
68-
},
69-
},
70-
{
71-
entry: path.resolve(__dirname, '../server/scripts/fetch-examples-ml5.js'),
72-
mode: 'production',
73-
output: {
74-
path: path.resolve(__dirname, '../dist/'),
75-
filename: 'fetch-examples-ml5.bundle.js'
62+
]
63+
}
7664
},
65+
{
66+
entry: path.resolve(__dirname, '../server/scripts/fetch-examples-ml5.js'),
67+
mode: 'production',
68+
output: {
69+
path: path.resolve(__dirname, '../dist/'),
70+
filename: 'fetch-examples-ml5.bundle.js'
71+
},
7772

78-
target: 'node',
73+
target: 'node',
7974

80-
externals: [nodeExternals()],
75+
externals: [nodeExternals()],
8176

82-
resolve: {
83-
extensions: ['*', '.js', '.jsx'],
84-
modules: [
85-
'client',
86-
'node_modules',
87-
],
88-
},
77+
resolve: {
78+
extensions: ['*', '.js', '.jsx', '.ts', '.tsx'],
79+
modules: ['client', 'node_modules']
80+
},
8981

90-
module: {
91-
rules: [
92-
{
93-
test: /\.js$/,
94-
exclude: /node_modules/,
95-
loader: 'babel-loader',
96-
options: {
97-
babelrc: true
82+
module: {
83+
rules: [
84+
{
85+
test: /\.[jt]sx$/,
86+
exclude: /node_modules/,
87+
loader: 'babel-loader',
88+
options: {
89+
babelrc: true
90+
}
9891
}
99-
}
100-
],
101-
},
102-
}];
92+
]
93+
}
94+
}
95+
];

0 commit comments

Comments
 (0)