forked from opentiny/tiny-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuildComponentSchemas.js
More file actions
38 lines (31 loc) · 1.17 KB
/
Copy pathbuildComponentSchemas.js
File metadata and controls
38 lines (31 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
* Copyright (c) 2023 - present TinyEngine Authors.
* Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
const { resolve } = require('path')
const { readdirSync, readFileSync, existsSync, mkdirSync, rmSync, writeFileSync } = require('fs')
const dir = resolve(__dirname, '../packages/settings/design/src/assets/materials/ng-components')
const files = readdirSync(dir)
const schemas = []
files.forEach((fileName) => {
if (/\.json$/.test(fileName)) {
const content = readFileSync(resolve(dir, fileName)).toString()
schemas.push(JSON.parse(content))
}
})
const outDir = resolve(__dirname, '../dist')
const outFile = resolve(outDir, 'componentSchemas.json')
if (!existsSync(outDir)) {
mkdirSync(outDir)
}
if (existsSync(outFile)) {
rmSync(outFile)
}
writeFileSync(outFile, JSON.stringify(schemas, null, 2))