@@ -18,7 +18,8 @@ import {
18
18
NamespaceDictionary ,
19
19
PushableOptions ,
20
20
DiffOptions ,
21
- PushOptions
21
+ PushOptions ,
22
+ diffInfo
22
23
} from '../types'
23
24
24
25
// import modules
@@ -33,7 +34,7 @@ import deepmerge from 'deepmerge'
33
34
import { promisify } from 'util'
34
35
import type { Ignore } from 'ignore'
35
36
import querystring from 'query-string'
36
- const { diffString } = require ( 'json-diff' ) // NOTE: not provided type definition ...
37
+ const jsonDiff = require ( 'json-diff' ) // NOTE: not provided type definition ...
37
38
38
39
import { debug as Debug } from 'debug'
39
40
const debug = Debug ( 'vue-i18n-locale-message:utils' )
@@ -450,7 +451,7 @@ export function returnIgnoreInstance (ig: Ignore, ignoreFiles: string[]): void {
450
451
} )
451
452
}
452
453
453
- export async function isDifferent ( options : DiffOptions ) : Promise < boolean > {
454
+ export async function isDifferent ( options : DiffOptions ) : Promise < diffInfo > {
454
455
const format = 'json'
455
456
const ProviderFactory = loadProvider ( options . provider )
456
457
@@ -472,13 +473,14 @@ export async function isDifferent (options: DiffOptions): Promise<boolean> {
472
473
const locales = Object . keys ( localeMessages ) as Locale [ ]
473
474
const serviceMessages = await provider . pull ( { locales, dryRun : false , normalize : options . normalize , format } )
474
475
475
- const ret = diffString ( serviceMessages , localeMessages )
476
+ const ret = jsonDiff . diffString ( serviceMessages , localeMessages )
476
477
console . log ( ret )
477
478
478
479
if ( ret ) {
479
- return Promise . resolve ( true )
480
+ const diffObj = jsonDiff . diff ( serviceMessages , localeMessages )
481
+ return Promise . resolve ( diffObj )
480
482
} else {
481
- return Promise . resolve ( false )
483
+ return Promise . resolve ( { } )
482
484
}
483
485
}
484
486
0 commit comments