feat(tl): generate diff file for simpler update flow

primarily for my own use
This commit is contained in:
teidesu 2022-10-30 18:38:31 +03:00
parent 416b3d9ef9
commit 71b39d6f53
3 changed files with 16 additions and 1 deletions

View file

@ -4,3 +4,5 @@ errors.d.ts
errors.js
binary/reader.js
binary/writer.js
diff.json

View file

@ -6,6 +6,7 @@ export const DESCRIPTIONS_YAML_FILE = join(
'../data/descriptions.yaml'
)
export const API_SCHEMA_JSON_FILE = join(__dirname, '../api-schema.json')
export const API_SCHEMA_DIFF_JSON_FILE = join(__dirname, '../diff.json')
export const MTP_SCHEMA_JSON_FILE = join(__dirname, '../mtp-schema.json')
export const ERRORS_JSON_FILE = join(__dirname, '../raw-errors.json')

View file

@ -12,6 +12,7 @@ import {
TlEntry,
TlFullSchema,
writeTlEntryToString,
generateTlSchemasDifference,
} from '@mtcute/tl-utils'
import { readdir, readFile, writeFile } from 'fs/promises'
import { join } from 'path'
@ -25,6 +26,7 @@ import {
TDLIB_SCHEMA,
COREFORK_DOMAIN,
BLOGFORK_DOMAIN,
API_SCHEMA_DIFF_JSON_FILE,
} from './constants'
import { fetchRetry } from './utils'
import {
@ -32,7 +34,7 @@ import {
fetchDocumentation,
getCachedDocumentation,
} from './documentation'
import { packTlSchema } from './schema'
import { packTlSchema, unpackTlSchema } from "./schema";
import { bumpVersion } from '../../../scripts/version'
const README_MD_FILE = join(__dirname, '../README.md')
@ -313,6 +315,16 @@ async function main() {
await overrideInt53(resultSchema)
console.log('Writing diff to file...')
const oldSchema = unpackTlSchema(JSON.parse(await readFile(API_SCHEMA_JSON_FILE, 'utf8')))
await writeFile(
API_SCHEMA_DIFF_JSON_FILE,
JSON.stringify({
layer: [oldSchema[1], resultLayer],
diff: generateTlSchemasDifference(oldSchema[0], resultSchema),
}, null, 4)
)
console.log('Writing result to file...')
await writeFile(
API_SCHEMA_JSON_FILE,