Merge pull request #705 from h3poteto/update/webpack/5.x

Update webpack 5.x and fix configuration
This commit is contained in:
AkiraFukushima 2021-03-23 00:58:31 +09:00 committed by GitHub
commit 6de1833bd8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 677 additions and 2389 deletions

File diff suppressed because it is too large Load diff

View file

@ -10,10 +10,20 @@
"megalodon": "file:../../"
},
"devDependencies": {
"assert": "^2.0.0",
"buffer": "^6.0.3",
"crypto-browserify": "^3.12.0",
"events": "^3.3.0",
"http-server": "^0.12.3",
"https-browserify": "^1.0.0",
"os-browserify": "^0.3.0",
"querystring-es3": "^0.2.1",
"stream-browserify": "^3.0.0",
"stream-http": "^3.1.1",
"ts-loader": "^8.0.18",
"typescript": "4.2.3",
"webpack": "^4.46.0",
"url": "^0.11.0",
"webpack": "^5.27.2",
"webpack-cli": "^4.5.0"
}
}

View file

@ -1,6 +1,6 @@
import generator, { Entity, Response } from 'megalodon'
const BASE_URL: string = 'http://mastodon.social'
const BASE_URL: string = 'https://mastodon.social'
console.log('start')
const client = generator('mastodon', BASE_URL)

View file

@ -10,7 +10,22 @@ module.exports = {
mode: 'development',
devtool: 'source-map',
resolve: {
extensions: ['.ts', '.js']
extensions: ['.ts', '.js'],
fallback: {
net: false,
tls: false,
dns: false,
stream: require.resolve('stream-browserify'),
events: require.resolve('events/'),
buffer: require.resolve('buffer/'),
url: require.resolve('url/'),
http: require.resolve('stream-http'),
https: require.resolve('https-browserify'),
crypto: require.resolve('crypto-browserify'),
querystring: require.resolve('querystring-es3'),
os: require.resolve('os-browserify/browser'),
assert: require.resolve('assert/')
}
},
module: {
rules: [
@ -20,12 +35,17 @@ module.exports = {
}
]
},
plugins: [],
plugins: [
new webpack.DefinePlugin({
'process.browser': true,
'process.env.NODE_DEBUG': false
})
]
// https-proxy-agent and socks-proxy-agent is node library, so can't compile for browser.
// So replace net, tls and dns which are node libraries.
node: {
net: 'empty',
tls: 'empty',
dns: 'empty'
}
// node: {
// net: 'empty',
// tls: 'empty',
// dns: 'empty'
// }
}