@@ -4,7 +4,6 @@ import { extractFile, listPackage } from '@electron/asar'
44
55const cwd = process . cwd ( )
66const distDir = path . join ( cwd , 'dist' )
7- const allowedElectronLocales = new Set ( [ 'en-US' , 'zh-CN' , 'ja' , 'ko' , 'es' , 'fr' , 'de' ] )
87
98function normalizeAsarPath ( value ) {
109 return value . replace ( / \\ / g, '/' ) . replace ( / ^ \/ + / , '' )
@@ -106,53 +105,13 @@ function verifyResourcesDir(target) {
106105 }
107106 }
108107
109- verifyElectronLocales ( target )
110108 verifyDevToolsPolicy ( appAsar )
111109
112110 if ( process . exitCode !== 1 ) {
113111 console . log ( `[verify-package] OK: native runtime files, plugin resources, and file-index JS dependencies are packaged in ${ resourcesDir } ` )
114112 }
115113}
116114
117- function verifyElectronLocales ( target ) {
118- const localeDir = resolveElectronLocaleDir ( target )
119- if ( ! localeDir ) {
120- if ( target . platform !== 'darwin' ) {
121- fail ( `Missing Electron locales directory for ${ target . platform } package.` )
122- }
123- return
124- }
125-
126- const localeFiles = readdirSync ( localeDir )
127- . filter ( ( name ) => name . endsWith ( '.pak' ) )
128- . map ( ( name ) => name . slice ( 0 , - '.pak' . length ) )
129-
130- if ( localeFiles . length === 0 ) {
131- return
132- }
133-
134- const unexpected = localeFiles . filter ( ( locale ) => ! allowedElectronLocales . has ( locale ) ) . sort ( )
135- if ( unexpected . length > 0 ) {
136- fail ( `Unexpected Electron locale files in ${ path . relative ( distDir , localeDir ) } : ${ unexpected . join ( ', ' ) } .` )
137- }
138-
139- const missing = [ ...allowedElectronLocales ] . filter ( ( locale ) => ! localeFiles . includes ( locale ) ) . sort ( )
140- if ( missing . length > 0 ) {
141- fail ( `Missing expected Electron locale files in ${ path . relative ( distDir , localeDir ) } : ${ missing . join ( ', ' ) } .` )
142- }
143- }
144-
145- function resolveElectronLocaleDir ( target ) {
146- if ( target . platform === 'darwin' ) {
147- const contentsDir = path . dirname ( target . resourcesDir )
148- const frameworkResources = path . join ( contentsDir , 'Frameworks' , 'Electron Framework.framework' , 'Resources' )
149- return existsSync ( frameworkResources ) ? frameworkResources : null
150- }
151-
152- const localeDir = path . join ( path . dirname ( target . resourcesDir ) , 'locales' )
153- return existsSync ( localeDir ) ? localeDir : null
154- }
155-
156115function verifyDevToolsPolicy ( appAsar ) {
157116 const mainBundle = extractAsarText ( appAsar , 'out/main/index.js' )
158117
0 commit comments