pack: do not import path methods entirely
This commit is contained in:
1 parent
89a65c9707
commit
1d6d2d0f1e
3 files changed
+22
-22
No files matched your search
@@ -1,4 +1,4 @@
|
|||||||
import path from 'path'
|
import { join, dirname } from 'path'
|
||||||
import packageJson from '../../package.json' assert { type: 'json' }
|
import packageJson from '../../package.json' assert { type: 'json' }
|
||||||
import webpack from 'webpack'
|
import webpack from 'webpack'
|
||||||
|
|
||||||
@@ -10,11 +10,11 @@ import { fileURLToPath } from 'url'
|
|||||||
process.env.BABEL_ENV = 'main'
|
process.env.BABEL_ENV = 'main'
|
||||||
|
|
||||||
const IS_DEV_ENV = process.env.NODE_ENV !== 'production'
|
const IS_DEV_ENV = process.env.NODE_ENV !== 'production'
|
||||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
entry: {
|
entry: {
|
||||||
main: path.join(__dirname, '../../src/main/index.js')
|
main: join(__dirname, '../../src/main/index.js')
|
||||||
},
|
},
|
||||||
externals: [
|
externals: [
|
||||||
...Object.keys(packageJson.dependencies || {})
|
...Object.keys(packageJson.dependencies || {})
|
||||||
@@ -39,7 +39,7 @@ export default {
|
|||||||
output: {
|
output: {
|
||||||
filename: '[name].js',
|
filename: '[name].js',
|
||||||
libraryTarget: 'commonjs2',
|
libraryTarget: 'commonjs2',
|
||||||
path: path.join(__dirname, '../../dist/electron')
|
path: join(__dirname, '../../dist/electron')
|
||||||
},
|
},
|
||||||
optimization: {
|
optimization: {
|
||||||
minimize: true,
|
minimize: true,
|
||||||
@@ -54,7 +54,7 @@ export default {
|
|||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
...IS_DEV_ENV
|
...IS_DEV_ENV
|
||||||
? {
|
? {
|
||||||
__static: `"${path.join(__dirname, '../../static').replace(/\\/g, '\\\\')}"`
|
__static: `"${join(__dirname, '../../static').replace(/\\/g, '\\\\')}"`
|
||||||
}
|
}
|
||||||
: {},
|
: {},
|
||||||
...IS_DEV_ENV
|
...IS_DEV_ENV
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import path from 'path'
|
import { join, dirname, resolve } from 'path'
|
||||||
import packageJson from '../../package.json' assert { type: 'json' }
|
import packageJson from '../../package.json' assert { type: 'json' }
|
||||||
import webpack from 'webpack'
|
import webpack from 'webpack'
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ import externalsWhiteList from './webpack.renderer.externals.whitelist.mjs'
|
|||||||
import { fileURLToPath } from 'url'
|
import { fileURLToPath } from 'url'
|
||||||
|
|
||||||
const IS_DEV_ENV = process.env.NODE_ENV !== 'production'
|
const IS_DEV_ENV = process.env.NODE_ENV !== 'production'
|
||||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
process.env.BABEL_ENV = 'renderer'
|
process.env.BABEL_ENV = 'renderer'
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ export default {
|
|||||||
minimizer: [new TerserPlugin()]
|
minimizer: [new TerserPlugin()]
|
||||||
},
|
},
|
||||||
entry: {
|
entry: {
|
||||||
renderer: path.join(__dirname, '../../src/renderer/main.js')
|
renderer: join(__dirname, '../../src/renderer/main.js')
|
||||||
},
|
},
|
||||||
externals: [
|
externals: [
|
||||||
...Object.keys(packageJson.dependencies || {}).filter(d => !externalsWhiteList.includes(d))
|
...Object.keys(packageJson.dependencies || {}).filter(d => !externalsWhiteList.includes(d))
|
||||||
@@ -87,7 +87,7 @@ export default {
|
|||||||
new VueLoaderPlugin(),
|
new VueLoaderPlugin(),
|
||||||
new HtmlWebpackPlugin({
|
new HtmlWebpackPlugin({
|
||||||
filename: 'index.html',
|
filename: 'index.html',
|
||||||
template: path.resolve(__dirname, '../../src/index.ejs'),
|
template: resolve(__dirname, '../../src/index.ejs'),
|
||||||
templateParameters (compilation, assets, options) {
|
templateParameters (compilation, assets, options) {
|
||||||
return {
|
return {
|
||||||
compilation,
|
compilation,
|
||||||
@@ -106,9 +106,9 @@ export default {
|
|||||||
removeComments: true
|
removeComments: true
|
||||||
},
|
},
|
||||||
isDevelopment: IS_DEV_ENV,
|
isDevelopment: IS_DEV_ENV,
|
||||||
staticPath: path.join(__dirname, '/static').replace(/\\/g, '\\\\'),
|
staticPath: join(__dirname, '/static').replace(/\\/g, '\\\\'),
|
||||||
nodeModules: IS_DEV_ENV
|
nodeModules: IS_DEV_ENV
|
||||||
? path.resolve(__dirname, '../../node_modules')
|
? resolve(__dirname, '../../node_modules')
|
||||||
: false
|
: false
|
||||||
}),
|
}),
|
||||||
new webpack.NoEmitOnErrorsPlugin(),
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
@@ -121,7 +121,7 @@ export default {
|
|||||||
}),
|
}),
|
||||||
new webpack.DefinePlugin(IS_DEV_ENV
|
new webpack.DefinePlugin(IS_DEV_ENV
|
||||||
? {
|
? {
|
||||||
__static: `"${path.join(__dirname, '../../static').replace(/\\/g, '\\\\')}"`,
|
__static: `"${join(__dirname, '../../static').replace(/\\/g, '\\\\')}"`,
|
||||||
__VUE_OPTIONS_API__: false,
|
__VUE_OPTIONS_API__: false,
|
||||||
__VUE_PROD_DEVTOOLS__: false
|
__VUE_PROD_DEVTOOLS__: false
|
||||||
}
|
}
|
||||||
@@ -136,8 +136,8 @@ export default {
|
|||||||
: [new CopyWebpackPlugin({
|
: [new CopyWebpackPlugin({
|
||||||
patterns: [
|
patterns: [
|
||||||
{
|
{
|
||||||
from: path.join(__dirname, '../../static'),
|
from: join(__dirname, '../../static'),
|
||||||
to: path.join(__dirname, '../../dist/electron/static')
|
to: join(__dirname, '../../dist/electron/static')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})],
|
})],
|
||||||
@@ -151,11 +151,11 @@ export default {
|
|||||||
output: {
|
output: {
|
||||||
filename: '[name].js',
|
filename: '[name].js',
|
||||||
libraryTarget: 'commonjs2',
|
libraryTarget: 'commonjs2',
|
||||||
path: path.join(__dirname, '../../dist/electron')
|
path: join(__dirname, '../../dist/electron')
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': path.join(__dirname, '../../src/renderer'),
|
'@': join(__dirname, '../../src/renderer'),
|
||||||
vue$: `vue/dist/vue.esm-browser${IS_DEV_ENV ? '' : '.prod'}`
|
vue$: `vue/dist/vue.esm-browser${IS_DEV_ENV ? '' : '.prod'}`
|
||||||
},
|
},
|
||||||
extensions: ['.js', '.vue', '.json', '.css', '.node']
|
extensions: ['.js', '.vue', '.json', '.css', '.node']
|
||||||
|
|||||||
+6
-6
@@ -1,7 +1,7 @@
|
|||||||
import dotenv from 'dotenv'
|
import dotenv from 'dotenv'
|
||||||
import chalk from 'chalk'
|
import chalk from 'chalk'
|
||||||
import electron from 'electron'
|
import electron from 'electron'
|
||||||
import path from 'path'
|
import { dirname, join } from 'path'
|
||||||
import { spawn } from 'child_process'
|
import { spawn } from 'child_process'
|
||||||
import webpack from 'webpack'
|
import webpack from 'webpack'
|
||||||
import WebpackDevServer from 'webpack-dev-server'
|
import WebpackDevServer from 'webpack-dev-server'
|
||||||
@@ -13,7 +13,7 @@ import { fileURLToPath } from 'url'
|
|||||||
|
|
||||||
dotenv.config({ path: '.env.dev' })
|
dotenv.config({ path: '.env.dev' })
|
||||||
|
|
||||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
let electronProcess = null
|
let electronProcess = null
|
||||||
let manualRestart = false
|
let manualRestart = false
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ function log (processName, data, color = 'yellow') {
|
|||||||
function startRenderer () {
|
function startRenderer () {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
(async () => {
|
(async () => {
|
||||||
rendererConfig.entry.renderer = [path.join(__dirname, 'devClient.mjs'), rendererConfig.entry.renderer]
|
rendererConfig.entry.renderer = [join(__dirname, 'devClient.mjs'), rendererConfig.entry.renderer]
|
||||||
|
|
||||||
const compiler = webpack({
|
const compiler = webpack({
|
||||||
mode: 'development',
|
mode: 'development',
|
||||||
@@ -52,7 +52,7 @@ function startRenderer () {
|
|||||||
port: 9080,
|
port: 9080,
|
||||||
liveReload: true,
|
liveReload: true,
|
||||||
static: {
|
static: {
|
||||||
directory: path.join(__dirname, '../'),
|
directory: join(__dirname, '../'),
|
||||||
watch: {
|
watch: {
|
||||||
usePolling: true,
|
usePolling: true,
|
||||||
ignored: /node_modules/
|
ignored: /node_modules/
|
||||||
@@ -80,7 +80,7 @@ function startRenderer () {
|
|||||||
|
|
||||||
function startMain () {
|
function startMain () {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
mainConfig.entry.main = [path.join(__dirname, '../src/main/index.dev.js'), mainConfig.entry.main]
|
mainConfig.entry.main = [join(__dirname, '../src/main/index.dev.js'), mainConfig.entry.main]
|
||||||
|
|
||||||
const compiler = webpack({
|
const compiler = webpack({
|
||||||
mode: 'development',
|
mode: 'development',
|
||||||
@@ -120,7 +120,7 @@ function startElectron () {
|
|||||||
electronProcess = spawn(electron, [
|
electronProcess = spawn(electron, [
|
||||||
...[
|
...[
|
||||||
'--inspect=5858',
|
'--inspect=5858',
|
||||||
path.join(__dirname, '/../dist/electron/main.js')
|
join(__dirname, '/../dist/electron/main.js')
|
||||||
],
|
],
|
||||||
...process.argv.slice(2)
|
...process.argv.slice(2)
|
||||||
])
|
])
|
||||||
|
|||||||
Reference in new issue
Block a user