@@ -9,15 +9,12 @@ const filePaths = {
9
9
'src' ,
10
10
'core' ,
11
11
'render' ,
12
- 'emoji -data.js'
12
+ 'emojify -data.js'
13
13
) ,
14
14
} ;
15
15
16
16
async function getEmojiData ( ) {
17
17
const emojiDataURL = 'https://api.github.com/emojis' ;
18
-
19
- console . info ( `- Fetching emoji data from ${ emojiDataURL } ` ) ;
20
-
21
18
const response = await axios . get ( emojiDataURL ) ;
22
19
const baseURL = Object . values ( response . data )
23
20
. find ( url => / u n i c o d e \/ / )
@@ -29,18 +26,16 @@ async function getEmojiData() {
29
26
( [ key , value ] ) => ( data [ key ] = value . replace ( baseURL , '' ) )
30
27
) ;
31
28
32
- console . info ( `- Retrieved ${ Object . keys ( data ) . length } emoji entries` ) ;
33
-
34
29
return {
35
30
baseURL,
36
31
data,
37
32
} ;
38
33
}
39
34
40
35
function writeEmojiPage ( emojiData ) {
41
- const isExistingPage = fs . existsSync ( filePaths . emojiMarkdown ) ;
42
36
const emojiPage =
43
- ( isExistingPage && fs . readFileSync ( filePaths . emojiMarkdown , 'utf8' ) ) ||
37
+ ( fs . existsSync ( filePaths . emojiMarkdown ) &&
38
+ fs . readFileSync ( filePaths . emojiMarkdown , 'utf8' ) ) ||
44
39
`<!-- START -->\n\n<!-- END -->` ;
45
40
const emojiRegEx = / ( < ! - - \s * S T A R T .* - - > \n ) ( [ \s \S ] * ) ( \n < ! - - \s * E N D .* - - > ) / ;
46
41
const emojiMatch = emojiPage . match ( emojiRegEx ) ;
@@ -58,52 +53,39 @@ function writeEmojiPage(emojiData) {
58
53
if ( emojiMarkdown !== newEmojiMarkdown ) {
59
54
const newEmojiPage = emojiPage . replace (
60
55
emojiMatch [ 0 ] ,
61
- `${ emojiMarkdownStart } \n\n ${ newEmojiMarkdown } \n \n${ emojiMarkdownEnd } `
56
+ `${ emojiMarkdownStart } \n${ newEmojiMarkdown } \n${ emojiMarkdownEnd } `
62
57
) ;
63
58
64
59
fs . writeFileSync ( filePaths . emojiMarkdown , newEmojiPage ) ;
65
-
66
- console . info (
67
- `- ${ ! isExistingPage ? 'Created' : 'Updated' } : ${ filePaths . emojiMarkdown } `
68
- ) ;
60
+ console . info ( `- Created new file: ${ filePaths . emojiMarkdown } ` ) ;
69
61
} else {
70
- console . info ( `- No changes: ${ filePaths . emojiMarkdown } ` ) ;
62
+ console . info ( `- No changes to file : ${ filePaths . emojiMarkdown } ` ) ;
71
63
}
72
64
}
73
65
74
66
function writeEmojiJS ( emojiData ) {
75
- const isExistingPage = fs . existsSync ( filePaths . emojiJS ) ;
76
- const emojiJS = isExistingPage && fs . readFileSync ( filePaths . emojiJS , 'utf8' ) ;
77
- const newEmojiJS = [
78
- '/* eslint-disable */\n' ,
79
- '// =============================================================================' ,
80
- '// DO NOT EDIT: This file is auto-generated by an /build/emoji.js' ,
81
- '// =============================================================================\n' ,
82
- `export default ${ JSON . stringify ( emojiData , { } , 2 ) } ` ,
83
- ] . join ( '\n' ) ;
67
+ const emojiJS =
68
+ fs . existsSync ( filePaths . emojiJS ) &&
69
+ fs . readFileSync ( filePaths . emojiJS , 'utf8' ) ;
70
+ const newEmojiJS = `export default ${ JSON . stringify ( emojiData , { } , 2 ) } ` ;
84
71
85
72
if ( ! emojiJS || emojiJS !== newEmojiJS ) {
86
73
fs . writeFileSync ( filePaths . emojiJS , newEmojiJS ) ;
87
-
88
- console . info (
89
- `- ${ ! isExistingPage ? 'Created' : 'Updated' } : ${ filePaths . emojiJS } `
90
- ) ;
74
+ console . info ( `- Created new file: ${ filePaths . emojiJS } ` ) ;
91
75
} else {
92
- console . info ( `- No changes: ${ filePaths . emojiJS } ` ) ;
76
+ console . info ( `- No changes to file : ${ filePaths . emojiJS } ` ) ;
93
77
}
94
78
}
95
79
96
80
( async ( ) => {
97
- console . info ( 'Build emoji' ) ;
81
+ console . log ( 'Build emoji' ) ;
98
82
99
83
try {
100
84
const emojiData = await getEmojiData ( ) ;
101
85
102
- if ( emojiData ) {
103
- writeEmojiPage ( emojiData ) ;
104
- writeEmojiJS ( emojiData ) ;
105
- }
106
- } catch ( err ) {
107
- console . warn ( `- Error: ${ err . message } ` ) ;
86
+ writeEmojiPage ( emojiData ) ;
87
+ writeEmojiJS ( emojiData ) ;
88
+ } catch ( e ) {
89
+ console . error ( e ) ;
108
90
}
109
91
} ) ( ) ;
0 commit comments