@accelbyte/codegen 3.1.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PATCHING.md +1 -1
- package/README.md +3 -3
- package/dist/accelbyte-codegen.js +1336 -1200
- package/dist/accelbyte-codegen.js.map +1 -1
- package/dist/accelbyte-codegen.mjs +1248 -1111
- package/dist/accelbyte-codegen.mjs.map +1 -1
- package/package.json +22 -6
- package/scripts/get-swaggers-configs.mjs +54 -0
package/package.json
CHANGED
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@accelbyte/codegen",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"author": "AccelByte Inc",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"main": "dist/accelbyte-codegen.js",
|
|
7
7
|
"module": "dist/accelbyte-codegen.mjs",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsup && yarn set-permissions",
|
|
10
|
+
"test-and-build": "yarn test && yarn build",
|
|
11
|
+
"set-permissions": "cd dist && ls *.* && chmod 700 *.* || echo 'No matching files'",
|
|
12
|
+
"prettier": "prettier --write sdk/.",
|
|
13
|
+
"test": "vitest run --testTimeout=30000",
|
|
14
|
+
"test:watch": "vitest",
|
|
15
|
+
"clean": "npx rimraf dist && npx rimraf node_modules"
|
|
16
|
+
},
|
|
8
17
|
"bin": {
|
|
9
18
|
"accelbyte-codegen": "dist/accelbyte-codegen.js"
|
|
10
19
|
},
|
|
11
20
|
"dependencies": {
|
|
12
21
|
"@apidevtools/swagger-parser": "10.1.0",
|
|
13
|
-
"axios": "1.
|
|
14
|
-
"fast-json-patch": "3.1.1",
|
|
15
|
-
"lodash": "4.17.21",
|
|
22
|
+
"axios": "1.7.7",
|
|
16
23
|
"eslint": "8.56.0",
|
|
17
24
|
"eslint-plugin-unused-imports": "3.0.0",
|
|
25
|
+
"fast-json-patch": "3.1.1",
|
|
26
|
+
"lodash": "4.17.21",
|
|
18
27
|
"rimraf": "4.1.2",
|
|
19
28
|
"semver": "7.5.4",
|
|
20
29
|
"swagger-parser": "10.0.3",
|
|
30
|
+
"validator": "13.7.0",
|
|
21
31
|
"yargs": "17.6.2",
|
|
22
|
-
"zod": "3.
|
|
32
|
+
"zod": "3.23.8"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "22.3.0",
|
|
36
|
+
"@types/yargs": "17.0.14",
|
|
37
|
+
"tsup": "8.2.4",
|
|
38
|
+
"vitest": "2.0.5"
|
|
23
39
|
}
|
|
24
|
-
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import fs, { readFileSync, writeFileSync } from 'fs'
|
|
2
|
+
import path from 'path'
|
|
3
|
+
import { fileURLToPath } from 'url'
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url)
|
|
6
|
+
const __dirname = path.dirname(__filename)
|
|
7
|
+
|
|
8
|
+
/* node ./packages/codegen/scripts/get-swaggers-configs.mjs */
|
|
9
|
+
|
|
10
|
+
const rootDir = path.resolve(path.join(__dirname, '../../'))
|
|
11
|
+
|
|
12
|
+
function findSwaggerFiles(dir) {
|
|
13
|
+
const files = fs.readdirSync(dir)
|
|
14
|
+
const swaggerFiles = []
|
|
15
|
+
|
|
16
|
+
files.forEach(file => {
|
|
17
|
+
const filePath = path.join(dir, file)
|
|
18
|
+
const stat = fs.statSync(filePath)
|
|
19
|
+
|
|
20
|
+
if (stat.isDirectory() && file.startsWith('sdk-')) {
|
|
21
|
+
const swaggerPath = path.join(filePath, 'swaggers.json')
|
|
22
|
+
if (fs.existsSync(swaggerPath)) {
|
|
23
|
+
swaggerFiles.push(swaggerPath)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
return swaggerFiles
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function parseSwaggerFiles(swaggerFiles) {
|
|
32
|
+
const result = {}
|
|
33
|
+
|
|
34
|
+
swaggerFiles.forEach(swaggerPath => {
|
|
35
|
+
const dirName = swaggerPath.match(/\/(sdk-[^\/]*)\//)?.[1]
|
|
36
|
+
const content = JSON.parse(readFileSync(swaggerPath, 'utf8'))
|
|
37
|
+
|
|
38
|
+
result[dirName] = content[0]
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
return result
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function writeSwaggersConfigToFile(data) {
|
|
45
|
+
const filePath = path.resolve('./packages/codegen/src/helpers/test-resources/swaggersConfig.ts')
|
|
46
|
+
const fileContent = `const swaggersConfig = ${JSON.stringify(data, null, 2)};\n\nexport default swaggersConfig;\n`
|
|
47
|
+
|
|
48
|
+
writeFileSync(filePath, fileContent, 'utf8')
|
|
49
|
+
console.log(`swaggersConfig.js file created successfully at ${filePath}`)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const swaggerFiles = findSwaggerFiles(rootDir)
|
|
53
|
+
const parsedData = parseSwaggerFiles(swaggerFiles)
|
|
54
|
+
writeSwaggersConfigToFile(parsedData)
|