Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 773a14d

Browse files
setchyafonsojramos
andauthored
feat: context bridge and node isolation (#2190)
* feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * fix: lint Signed-off-by: Adam Setch <adam.setch@outlook.com> * Merge remote-tracking branch 'origin/main' into feat/context-bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * feat: context bridge Signed-off-by: Adam Setch <adam.setch@outlook.com> * fix: avoid use of node api Signed-off-by: Adam Setch <adam.setch@outlook.com> * Update src/renderer/components/layout/EmojiSplash.test.tsx Co-authored-by: Afonso Jorge Ramos <afonsojorgeramos@gmail.com> * collect coverage from Signed-off-by: Adam Setch <adam.setch@outlook.com> --------- Signed-off-by: Adam Setch <adam.setch@outlook.com> Co-authored-by: Afonso Jorge Ramos <afonsojorgeramos@gmail.com>
1 parent c1fbfba commit 773a14d

File tree

74 files changed

+1194
-805
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1194
-805
lines changed

‎.github/workflows/build.yml‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ jobs:
2626

2727
- run: pnpm install
2828
- run: pnpm build
29-
- run: pnpm prepare:remove-source-maps
3029
- run: pnpm package:macos --publish=never -c.mac.identity=null
3130
env:
3231
CSC_LINK: ${{ secrets.CSC_LINK }}
@@ -61,7 +60,6 @@ jobs:
6160

6261
- run: pnpm install
6362
- run: pnpm build
64-
- run: pnpm prepare:remove-source-maps
6563
- run: pnpm package:win --publish=never
6664

6765
- name: Clean up builds
@@ -93,7 +91,6 @@ jobs:
9391

9492
- run: pnpm install
9593
- run: pnpm build
96-
- run: pnpm prepare:remove-source-maps
9794
- run: pnpm package:linux --publish=never
9895

9996
- name: Clean up builds

‎.github/workflows/publish.yml‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
env:
3131
OAUTH_CLIENT_ID: ${{ secrets.OAUTH_CLIENT_ID }}
3232
OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }}
33-
- run: pnpm prepare:remove-source-maps
3433
- run: pnpm package:macos --publish onTagOrDraft
3534
env:
3635
APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }}
@@ -70,7 +69,6 @@ jobs:
7069
env:
7170
OAUTH_CLIENT_ID: ${{ secrets.OAUTH_CLIENT_ID }}
7271
OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }}
73-
- run: pnpm prepare:remove-source-maps
7472
- run: pnpm package:win --publish onTagOrDraft
7573
env:
7674
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -104,7 +102,6 @@ jobs:
104102
env:
105103
OAUTH_CLIENT_ID: ${{ secrets.OAUTH_CLIENT_ID }}
106104
OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }}
107-
- run: pnpm prepare:remove-source-maps
108105
- run: pnpm package:linux --publish onTagOrDraft
109106
env:
110107
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

‎config/electron-builder.js‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
const { Configuration } = require('electron-builder');
2-
31
/**
4-
* @type {Configuration}
2+
* @type {import('electron-builder').Configuration}
53
*/
64
const config = {
75
productName: 'Gitify',
@@ -28,7 +26,7 @@ const config = {
2826
icon: 'assets/images/app-icon.icns',
2927
identity: 'Adam Setch (5KD23H9729)',
3028
type: 'distribution',
31-
notarize: false,
29+
notarize: false,// Handle notarization in afterSign.js
3230
target: {
3331
target: 'default',
3432
arch: ['universal'],

‎config/webpack.config.main.base.ts‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ const configuration: webpack.Configuration = {
1818
output: {
1919
path: webpackPaths.buildPath,
2020
filename: 'main.js',
21-
library: {
22-
type: 'umd',
23-
},
2421
},
2522
};
2623

‎config/webpack.config.main.prod.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { merge } from 'webpack-merge';
55
import baseConfig from './webpack.config.main.base';
66

77
const configuration: webpack.Configuration = {
8-
devtool: 'source-map',
8+
devtool: false,
99

1010
mode: 'production',
1111

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import path from 'node:path';
2+
3+
import type webpack from 'webpack';
4+
import { merge } from 'webpack-merge';
5+
6+
import baseConfig from './webpack.config.common';
7+
import webpackPaths from './webpack.paths';
8+
9+
const configuration: webpack.Configuration = {
10+
devtool: 'inline-source-map',
11+
12+
mode: 'development',
13+
14+
target: 'electron-preload',
15+
16+
entry: [path.join(webpackPaths.srcPreloadPath, 'index.ts')],
17+
18+
output: {
19+
path: webpackPaths.buildPath,
20+
filename: 'preload.js',
21+
},
22+
};
23+
24+
export default merge(baseConfig, configuration);
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import TerserPlugin from 'terser-webpack-plugin';
2+
import type webpack from 'webpack';
3+
import { merge } from 'webpack-merge';
4+
5+
import baseConfig from './webpack.config.preload.base';
6+
7+
const configuration: webpack.Configuration = {
8+
devtool: false,
9+
10+
mode: 'production',
11+
12+
optimization: {
13+
minimize: true,
14+
minimizer: [new TerserPlugin()],
15+
},
16+
};
17+
18+
export default merge(baseConfig, configuration);

‎config/webpack.config.renderer.base.ts‎

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,43 @@
11
import path from 'node:path';
22

3+
import twemoji from '@discordapp/twemoji';
34
import CopyWebpackPlugin from 'copy-webpack-plugin';
45
import HtmlWebpackPlugin from 'html-webpack-plugin';
56
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
67
import webpack from 'webpack';
78
import { merge } from 'webpack-merge';
89

9-
import { ALL_EMOJI_SVG_FILENAMES } from '../src/renderer/utils/emojis';
10+
import { Constants } from '../src/renderer/constants';
11+
import { Errors } from '../src/renderer/utils/errors';
1012
import baseConfig from './webpack.config.common';
1113
import webpackPaths from './webpack.paths';
1214

15+
const ALL_EMOJIS = [
16+
...Constants.ALL_READ_EMOJIS,
17+
...Errors.BAD_CREDENTIALS.emojis,
18+
...Errors.MISSING_SCOPES.emojis,
19+
...Errors.NETWORK.emojis,
20+
...Errors.RATE_LIMITED.emojis,
21+
...Errors.UNKNOWN.emojis,
22+
];
23+
24+
export const ALL_EMOJI_SVG_FILENAMES = ALL_EMOJIS.map((emoji) => {
25+
const imgHtml = twemoji.parse(emoji, { folder: 'svg', ext: '.svg' });
26+
return extractSvgFilename(imgHtml);
27+
});
28+
1329
const configuration: webpack.Configuration = {
1430
devtool: 'inline-source-map',
1531

1632
mode: 'development',
1733

18-
target: 'electron-renderer',
34+
target: ['web','electron-renderer'],
1935

2036
entry: [path.join(webpackPaths.srcRendererPath, 'index.tsx')],
2137

2238
output: {
2339
path: webpackPaths.buildPath,
2440
filename: 'renderer.js',
25-
library: {
26-
type: 'umd',
27-
},
2841
},
2942

3043
module: {
@@ -61,7 +74,6 @@ const configuration: webpack.Configuration = {
6174
removeAttributeQuotes: true,
6275
removeComments: true,
6376
},
64-
isBrowser: false,
6577
}),
6678

6779
// Twemoji SVGs for Emoji parsing
@@ -87,4 +99,11 @@ const configuration: webpack.Configuration = {
8799
],
88100
};
89101

102+
function extractSvgFilename(imgHtml: string) {
103+
const srcMatch = /src="(.*)"/.exec(imgHtml);
104+
const src = srcMatch ? srcMatch[1] : '';
105+
const filename = src.split('/').pop(); // Get the last part after splitting by "/"
106+
return filename;
107+
}
108+
90109
export default merge(baseConfig, configuration);

‎config/webpack.config.renderer.prod.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { merge } from 'webpack-merge';
66
import baseConfig from './webpack.config.renderer.base';
77

88
const configuration: webpack.Configuration = {
9-
devtool: 'source-map',
9+
devtool: false,
1010

1111
mode: 'production',
1212

‎config/webpack.paths.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ const rootPath = path.join(__dirname, '..');
55
const nodeModulesPath = path.join(rootPath, 'node_modules');
66

77
const srcPath = path.join(rootPath, 'src');
8+
89
const srcMainPath = path.join(srcPath, 'main');
10+
11+
const srcPreloadPath = path.join(srcPath, 'preload');
12+
913
const srcRendererPath = path.join(srcPath, 'renderer');
1014

1115
const buildPath = path.join(rootPath, 'build');
@@ -17,6 +21,7 @@ export default {
1721
nodeModulesPath,
1822
srcPath,
1923
srcMainPath,
24+
srcPreloadPath,
2025
srcRendererPath,
2126
buildPath,
2227
distPath,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /