| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import fs from 'fs'
- import Path from 'path'
- import { fileURLToPath } from 'url'
- const __dirname = fileURLToPath(new URL('.', import.meta.url))
- const LOCALES = Path.join(__dirname, '../../locales')
- const CHECK = process.argv.includes('--check')
- async function main() {
- for (const locale of await fs.promises.readdir(LOCALES)) {
- if (locale === 'README.md') continue
- const path = Path.join(LOCALES, locale)
- const input = await fs.promises.readFile(path, 'utf-8')
- const parsed = JSON.parse(input)
- const sorted = JSON.stringify(parsed, Object.keys(parsed).sort(), 2) + '\n'
- if (input === sorted) {
- continue
- }
- if (CHECK) {
- console.warn('---')
- console.warn(
- locale,
- 'is not sorted. Try running:\n\n',
- ' web$ make sort_locales',
- '\n'
- )
- console.warn('---')
- throw new Error(locale + ' is not sorted')
- }
- console.log('Storing sorted version of', locale)
- await fs.promises.writeFile(path, sorted)
- }
- }
- try {
- await main()
- } catch (error) {
- console.error(error)
- process.exit(1)
- }
|