139 |
140 |
141 |
142 | ${errorMessage}
143 |
144 |
145 |
146 | If you enjoy Guide Mate, consider
147 |
buying me a coffee :)
148 |
149 |
150 | `;
151 | }
152 | }
153 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es6",
4 | "experimentalDecorators": true,
5 | "moduleResolution": "node",
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin');
3 | const HTMLWebpackPlugin = require('html-webpack-plugin');
4 | const CopyWebpackPlugin = require('copy-webpack-plugin');
5 | const {
6 | CleanWebpackPlugin,
7 | } = require('clean-webpack-plugin');
8 |
9 | const isProd = process.env.NODE_ENV === 'production';
10 |
11 | module.exports = {
12 | entry: {
13 | index: path.join(__dirname, 'src', 'ui', 'index.ts'),
14 | plugin: path.join(__dirname, 'src', 'plugin.ts'),
15 | },
16 | mode: isProd ? 'production' : 'development',
17 | devtool: isProd ? false : 'inline-source-map',
18 | output: {
19 | path: path.join(__dirname, 'plugin'),
20 | publicPath: '/',
21 | filename: '[name].js',
22 | },
23 | resolve: {
24 | extensions: ['.js', '.ts'],
25 | },
26 | module: {
27 | rules: [{
28 | test: /\.ts$/,
29 | loader: 'ts-loader',
30 | }],
31 | },
32 | plugins: [
33 | new HTMLWebpackPlugin({
34 | inject: 'head',
35 | inlineSource: '.(js)$',
36 | chunks: ['index'],
37 | minify: true,
38 | template: path.join(__dirname, 'index.html'),
39 | }),
40 | new HtmlWebpackInlineSourcePlugin(),
41 | new CopyWebpackPlugin([{
42 | from: path.join(__dirname, 'manifest.json'),
43 | to: path.join(__dirname, 'plugin', 'manifest.json'),
44 | }]),
45 | ].concat(
46 | isProd ? new CleanWebpackPlugin({
47 | cleanOnceBeforeBuildPatterns: path.join(__dirname, 'plugin'),
48 | cleanAfterEveryBuildPatterns: path.join(__dirname, 'plugin', 'index.js'),
49 | }) : [],
50 | ),
51 | };
52 |
--------------------------------------------------------------------------------