-
Notifications
You must be signed in to change notification settings - Fork 0
/
config-overrides.js
121 lines (119 loc) · 2.94 KB
/
config-overrides.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
const webpack = require("webpack");
const packageJson = require("./package.json")
const HtmlWebpackPlugin = require('html-webpack-plugin')
const HtmlWebpackTagsPlugin = require('html-webpack-tags-plugin');
const path = require('path')
const prod = process.env.NODE_ENV === 'production';
module.exports = function override(config, env) {
//do stuff with the webpack config...
config.devtool = prod ? false : 'source-map';
config.resolve.fallback = {
...config.resolve.fallback,
stream: require.resolve("stream-browserify"),
buffer: require.resolve("buffer"),
path: require.resolve("path-browserify"),
process: require.resolve("process"),
'process/browser': require.resolve("process/browser"),
}
config.resolve.extensions = [...config.resolve.extensions, ".ts", ".js"]
config.plugins[0] = new HtmlWebpackPlugin({
title: packageJson.name,
meta: {
description: packageJson.description
},
inject: true,
template: path.resolve("./") + '/public/index.html'
})
config.plugins = [
...config.plugins,
new webpack.ProvidePlugin({
process: "process/browser",
Buffer: ["buffer", "Buffer"],
}),
new HtmlWebpackTagsPlugin({
useHash: true,
metas: [
{
attributes: {
name: 'robots',
content: 'noindex, nofllow'
}
},
{
attributes: {
name: 'description',
property: 'og:description',
content: packageJson.description
}
},
{
attributes: {
name: 'author',
content: packageJson.author
}
},
{
attributes: {
property: 'og:type',
content: 'website'
}
},
{
attributes: {
property: 'og:title',
content: packageJson.name
}
},
{
attributes: {
property: 'og:site_name',
content: packageJson.name
}
},
{
attributes: {
property: 'og:locale',
content: 'en_US'
}
},
{
attributes: {
property: 'og:url',
content: packageJson.homepage
}
},
{
attributes: {
property: 'og:image',
content: 'https://portfolio.kumoti.jp/avatar_512x512.jpg'
},
},
{
attributes: {
property: 'og:image:width',
content: 512
},
},
{
attributes: {
property: 'og:image:height',
content: 512
},
},
{
attributes: {
property: 'og:image:type',
content: 'image/jpeg'
},
},
{
attributes: {
property: 'og:image:alt',
content: packageJson.name
},
},
]
})
]
return config
}