Changeset View
Changeset View
Standalone View
Standalone View
web/webpack.config.cjs
Show First 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | output: { | ||||
filename: 'app.build.cjs', | filename: 'app.build.cjs', | ||||
library: 'app', | library: 'app', | ||||
libraryTarget: 'commonjs2', | libraryTarget: 'commonjs2', | ||||
path: path.join(__dirname, 'dist'), | path: path.join(__dirname, 'dist'), | ||||
}, | }, | ||||
}; | }; | ||||
const baseWebWorkersConfig = { | const baseWebWorkersConfig = { | ||||
plugins: [ | |||||
new CopyPlugin({ | |||||
patterns: [ | |||||
{ | |||||
from: 'node_modules/sql.js/dist/sql-wasm.wasm', | |||||
to: path.join(__dirname, 'dist'), | |||||
}, | |||||
], | |||||
}), | |||||
], | |||||
entry: { | entry: { | ||||
pushNotif: './push-notif/service-worker.js', | pushNotif: './push-notif/service-worker.js', | ||||
database: './database/worker/db-worker.js', | database: './database/worker/db-worker.js', | ||||
}, | }, | ||||
output: { | output: { | ||||
filename: '[name].build.js', | filename: '[name].build.js', | ||||
path: path.join(__dirname, 'dist', 'webworkers'), | path: path.join(__dirname, 'dist', 'webworkers'), | ||||
}, | }, | ||||
resolve: { | resolve: { | ||||
fallback: { | fallback: { | ||||
crypto: false, | crypto: false, | ||||
fs: false, | fs: false, | ||||
path: false, | path: false, | ||||
}, | }, | ||||
}, | }, | ||||
}; | }; | ||||
const devWebWorkersPlugins = [ | |||||
new CopyPlugin({ | |||||
patterns: [ | |||||
{ | |||||
from: 'node_modules/sql.js/dist/sql-wasm.wasm', | |||||
to: path.join(__dirname, 'dist', 'webworkers'), | |||||
}, | |||||
], | |||||
}), | |||||
]; | |||||
const prodWebWorkersPlugins = [ | |||||
new CopyPlugin({ | |||||
patterns: [ | |||||
{ | |||||
from: 'node_modules/sql.js/dist/sql-wasm.wasm', | |||||
to: path.join( | |||||
__dirname, | |||||
'dist', | |||||
'webworkers', | |||||
'sql-wasm.[contenthash:12].wasm', | |||||
), | |||||
}, | |||||
], | |||||
}), | |||||
new WebpackManifestPlugin({ | |||||
ashoat: Can you share an example of the contents of this file? | |||||
kamilAuthorUnsubmitted Done Inline Actionssure: { "pushNotif.js": "pushNotif.build.js", "database.js": "database.build.js", "sql-wasm.wasm": "sql-wasm.057823fecaed.wasm" } (just reminding that this is the file in webworkers directory so it's not overriding manifest.json where olm is defined) kamil: sure:
```
{
"pushNotif.js": "pushNotif.build.js",
"database.js": "database.build.js"… | |||||
ashoatUnsubmitted Not Done Inline ActionsLooks good! ashoat: Looks good! | |||||
publicPath: '', | |||||
}), | |||||
]; | |||||
module.exports = function (env) { | module.exports = function (env) { | ||||
const browserConfig = env.prod | const browserConfig = env.prod | ||||
? createProdBrowserConfig(baseProdBrowserConfig, babelConfig) | ? createProdBrowserConfig(baseProdBrowserConfig, babelConfig) | ||||
: createDevBrowserConfig(baseDevBrowserConfig, babelConfig); | : createDevBrowserConfig(baseDevBrowserConfig, babelConfig); | ||||
const nodeConfig = createNodeServerRenderingConfig( | const nodeConfig = createNodeServerRenderingConfig( | ||||
baseNodeServerRenderingConfig, | baseNodeServerRenderingConfig, | ||||
babelConfig, | babelConfig, | ||||
); | ); | ||||
const nodeServerRenderingConfig = { | const nodeServerRenderingConfig = { | ||||
...nodeConfig, | ...nodeConfig, | ||||
mode: env.prod ? 'production' : 'development', | mode: env.prod ? 'production' : 'development', | ||||
}; | }; | ||||
const workersConfig = { | |||||
...baseWebWorkersConfig, | |||||
plugins: env.prod ? prodWebWorkersPlugins : devWebWorkersPlugins, | |||||
}; | |||||
const webWorkersConfig = createWebWorkersConfig( | const webWorkersConfig = createWebWorkersConfig( | ||||
env, | env, | ||||
baseWebWorkersConfig, | workersConfig, | ||||
babelConfig, | babelConfig, | ||||
); | ); | ||||
return [browserConfig, nodeServerRenderingConfig, webWorkersConfig]; | return [browserConfig, nodeServerRenderingConfig, webWorkersConfig]; | ||||
}; | }; |
Can you share an example of the contents of this file?