pack: do not import path methods entirely

This commit is contained in:
leejooy96 committed 2022-07-21 10:50:31 +09:00
1 parent 89a65c9707
commit 1d6d2d0f1e
3 files changed
+22 -22

No files matched your search

+5 -5
View File
@@ -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
+11 -11
View File
@@ -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
View File
@@ -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)
]) ])