[WRTjs] add disable screensaver metadata description
[platform/framework/web/wrtjs.git] / wrt_app / webpack.config.js
1 const path = require('path');
2 const fs = require('fs/promises');
3
4 const outDir = path.resolve(__dirname, '..', 'out', 'gen', 'app');
5
6 fs.mkdir(outDir, { recursive: true }).then(() => {
7   fs.copyFile(path.resolve(__dirname, 'package.json'), path.resolve(outDir, 'package.json'));
8 }).catch(error => {
9   console.error('Fail to copy file', error);
10 });
11
12 module.exports = {
13   mode: 'production',
14   entry: {
15     'addon/browser/addonapi': path.resolve(__dirname, 'addon', 'browser', 'addonapi.ts'),
16     'addon/renderer/addonapi': path.resolve(__dirname, 'addon', 'renderer', 'addonapi.ts'),
17     'browser/init': path.resolve(__dirname, 'browser', 'init.ts'),
18     'renderer/init': path.resolve(__dirname, 'renderer', 'init.ts'),
19     'service/main': path.resolve(__dirname, 'service', 'main.ts'),
20     'service/service_runner': path.resolve(__dirname, 'service', 'service_runner.ts'),
21     'src/runtime': path.resolve(__dirname, 'src', 'runtime.ts')
22   },
23   target: 'node',
24   output: {
25     filename: '[name].js',
26     path: outDir
27   },
28   resolve: {
29     extensions: ['.js', '.ts']
30   },
31   externals: {
32     'electron': 'commonjs electron',
33     'electron/js2c/browser_init': 'commonjs electron/js2c/browser_init',
34     'electron/js2c/renderer_init': 'commonjs electron/js2c/renderer_init'
35   },
36   module: {
37     rules: [{
38       test: /\.ts$/,
39       loader: 'ts-loader',
40       options: {
41         configFile: path.resolve(__dirname, 'tsconfig.json')
42       }
43     }]
44   }
45 };