Skip to content

Commit a47be7b

Browse files
committed
chore: add banner to the merged schema file
1 parent 9602bbc commit a47be7b

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

packages/live-status-gateway-api/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
"homepage": "https://github.com/nrkno/sofie-core/blob/master/packages/live-status-gateway-api#readme",
1717
"scripts": {
18-
"build": "yarn resolve-nested-examples && yarn generate-schema-types && run -T rimraf dist && run build:main",
18+
"build": "yarn generate-schema-types && run -T rimraf dist && run build:main",
1919
"build:main": "run -T tsc -p tsconfig.build.json",
2020
"lint:raw": "run -T eslint",
2121
"lint": "run lint:raw .",
@@ -27,11 +27,11 @@
2727
"validate:dependencies": "yarn npm audit --environment production && run license-validate",
2828
"validate:dev-dependencies": "yarn npm audit --environment development",
2929
"license-validate": "run -T sofie-licensecheck",
30-
"gendocs": "yarn resolve-nested-examples && ag ./dist/api/asyncapi.yaml @asyncapi/html-template -o docs -p singleFile=true -p outFilename=liveStatus.html",
31-
"genserver": "yarn resolve-nested-examples && ag ./dist/api/asyncapi.yaml @asyncapi/nodejs-ws-template -o server -p server=development",
32-
"generate-schema-types": "yarn resolve-nested-examples && node scripts/generate-schema-types.mjs",
33-
"resolve-nested-examples": "node scripts/resolve-nested-examples.mjs && yarn merge-schemas",
34-
"merge-schemas": "node scripts/merge-schemas.mjs"
30+
"gendocs": "yarn merge-schemas && ag ./src/generated/asyncapi.yaml @asyncapi/html-template -o docs -p singleFile=true -p outFilename=liveStatus.html",
31+
"genserver": "yarn merge-schemas && ag ./src/generated/asyncapi.yaml @asyncapi/nodejs-ws-template -o server -p server=development",
32+
"generate-schema-types": "yarn merge-schemas && node scripts/generate-schema-types.mjs",
33+
"resolve-nested-examples": "node scripts/resolve-nested-examples.mjs",
34+
"merge-schemas": "yarn resolve-nested-examples && node scripts/merge-schemas.mjs"
3535
},
3636
"engines": {
3737
"node": ">=14.19"

packages/live-status-gateway-api/scripts/merge-schemas.mjs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ import { fromFile, Parser } from '@asyncapi/parser'
66
const ROOT_FILE = './temp/api/asyncapi.yaml'
77
const OUTPUT_FILE = './src/generated/asyncapi.yaml'
88

9+
const BANNER =
10+
'# This file was automatically generated using @asyncapi/parser\n' +
11+
'# DO NOT MODIFY IT BY HAND. Instead, modify the source AsyncAPI schema files,\n' +
12+
'# and run "yarn merge-schemas" to regenerate this file.\n'
13+
914
async function main() {
1015
try {
1116
const parser = new Parser()
@@ -15,14 +20,12 @@ async function main() {
1520
throw new Error('Failed to parse the AsyncAPI document.')
1621
}
1722

18-
// Convert the resolved document to JS object
1923
const resolved = document.json()
20-
21-
// Ensure output directory exists
2224
fs.mkdirSync(path.dirname(OUTPUT_FILE), { recursive: true })
2325

24-
// Write out single YAML file
25-
fs.writeFileSync(OUTPUT_FILE, YAML.stringify(resolved), 'utf-8')
26+
// Prepend banner to YAML output
27+
const yamlContent = BANNER + YAML.stringify(resolved)
28+
fs.writeFileSync(OUTPUT_FILE, yamlContent, 'utf-8')
2629

2730
console.log(`Fully resolved AsyncAPI schema written to: ${OUTPUT_FILE}`)
2831
} catch (err) {

packages/live-status-gateway-api/src/generated/asyncapi.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file was automatically generated using @asyncapi/parser
2+
# DO NOT MODIFY IT BY HAND. Instead, modify the source AsyncAPI schema files,
3+
# and run "yarn resolve-nested-examples" to regenerate this file.
14
asyncapi: 2.6.0
25
id: sofie:live-status-gateway:server
36
info:

0 commit comments

Comments
 (0)