@@ -144,24 +144,36 @@ module.exports = {
144
144
hooks : {
145
145
// Remove unused locales from the packaged app to save some space.
146
146
postPackage ( _ , packageResult ) {
147
- const localesToKeep = LOCALES
147
+ const isMac = ( process . platform === "darwin" ) ;
148
+ let localesToKeep = LOCALES
148
149
. filter ( locale => ! locale . contentOnly )
149
- . map ( locale => locale . electronLocale . replace ( "_" , "-" ) ) ;
150
+ . map ( locale => locale . electronLocale ) ;
151
+ if ( ! isMac ) {
152
+ localesToKeep . map ( locale => locale . replace ( "_" , "-" ) )
153
+ }
154
+
150
155
const keptLocales = new Set ( ) ;
151
156
const removedLocales = [ ] ;
157
+ const extension = ( isMac ? ".lproj" : ".pak" ) ;
152
158
153
159
for ( const outputPath of packageResult . outputPaths ) {
154
- const localesDir = path . join ( outputPath , 'locales' ) ;
160
+ const localesDir = isMac
161
+ ? path . join ( outputPath , "TriliumNext Notes.app/Contents/Resources" )
162
+ : path . join ( outputPath , 'locales' ) ;
155
163
156
164
if ( ! fs . existsSync ( localesDir ) ) {
157
- console . log ( ' No locales directory found. Skipping cleanup.' ) ;
158
- return ;
165
+ console . log ( ` No locales directory found in ' ${ localesDir } '.` ) ;
166
+ process . exit ( 2 ) ;
159
167
}
160
168
161
169
const files = fs . readdirSync ( localesDir ) ;
162
170
163
171
for ( const file of files ) {
164
- let localeName = path . basename ( file , ".pak" ) ;
172
+ if ( ! file . endsWith ( extension ) ) {
173
+ continue ;
174
+ }
175
+
176
+ let localeName = path . basename ( file , extension ) ;
165
177
if ( localeName === "en-US" && process . platform === "win32" ) {
166
178
// If the locale is "en-US" on Windows, we treat it as "en".
167
179
// This is because the Windows version of Electron uses "en-US.pak" instead of "en.pak".
@@ -174,7 +186,12 @@ module.exports = {
174
186
}
175
187
176
188
const filePath = path . join ( localesDir , file ) ;
177
- fs . unlinkSync ( filePath ) ;
189
+ if ( isMac ) {
190
+ fs . rm ( filePath , { recursive : true } ) ;
191
+ } else {
192
+ fs . unlinkSync ( filePath ) ;
193
+ }
194
+
178
195
removedLocales . push ( file ) ;
179
196
}
180
197
}
0 commit comments