@@ -136,11 +136,18 @@ func main() {
136
136
os .Exit (1 )
137
137
}
138
138
139
- if err := writeMessages (filepath .Join (os .Args [2 ], "concepts/ui-user-interface.mdx" )); err != nil {
139
+ sortedMessages := sortMessages ()
140
+
141
+ if err := writeMessages (filepath .Join (os .Args [2 ], "concepts/ui-user-interface.mdx" ), sortedMessages ); err != nil {
140
142
_ , _ = fmt .Fprintf (os .Stderr , "Unable to generate message table: %+v\n " , err )
141
143
os .Exit (1 )
142
144
}
143
145
146
+ if err := writeMessagesJson (filepath .Join (os .Args [2 ], "concepts/messages.json" ), sortedMessages ); err != nil {
147
+ _ , _ = fmt .Fprintf (os .Stderr , "Unable to generate messages.json: %+v\n " , err )
148
+ os .Exit (1 )
149
+ }
150
+
144
151
fmt .Println ("All files have been generated and updated." )
145
152
}
146
153
@@ -154,12 +161,7 @@ func codeEncode(in interface{}) string {
154
161
return string (out )
155
162
}
156
163
157
- func writeMessages (path string ) error {
158
- content , err := os .ReadFile (path )
159
- if err != nil {
160
- return err
161
- }
162
-
164
+ func sortMessages () []* text.Message {
163
165
var toSort []* text.Message
164
166
for _ , m := range messages {
165
167
toSort = append (toSort , m )
@@ -172,8 +174,17 @@ func writeMessages(path string) error {
172
174
return toSort [i ].ID < toSort [j ].ID
173
175
})
174
176
177
+ return toSort
178
+ }
179
+
180
+ func writeMessages (path string , sortedMessages []* text.Message ) error {
181
+ content , err := os .ReadFile (path )
182
+ if err != nil {
183
+ return err
184
+ }
185
+
175
186
var w bytes.Buffer
176
- for _ , m := range toSort {
187
+ for _ , m := range sortedMessages {
177
188
w .WriteString (fmt .Sprintf (`###### %s (%d)
178
189
179
190
%s
@@ -200,6 +211,25 @@ func writeMessages(path string) error {
200
211
return nil
201
212
}
202
213
214
+ func writeMessagesJson (path string , sortedMessages []* text.Message ) error {
215
+ result := codeEncode (sortedMessages )
216
+
217
+ f , err := os .OpenFile (path , os .O_RDWR | os .O_CREATE | os .O_TRUNC , 0755 )
218
+ if err != nil {
219
+ return err
220
+ }
221
+
222
+ if _ , err := f .WriteString (result ); err != nil {
223
+ return err
224
+ }
225
+
226
+ if err := f .Close (); err != nil {
227
+ return err
228
+ }
229
+
230
+ return nil
231
+ }
232
+
203
233
func validateAllMessages (path string ) error {
204
234
type message struct {
205
235
ID , Name string
0 commit comments