Skip to content

Commit 4f8520b

Browse files
committed
feat: refactor makefile and cli
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
1 parent e845cef commit 4f8520b

File tree

5 files changed

+35
-7
lines changed

5 files changed

+35
-7
lines changed

api-models/typescript/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api-models/typescript/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "@trustification/evalguard-api-model",
3-
"version": "1.0.0",
3+
"version": "1.0.0-SNAPSHOT",
44
"description": "TypeScript API client for EvalGuard",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
77
"scripts": {
88
"build": "tsc",
9-
"generate": "openapi-generator-cli generate -i ../../schemas/${npm_config_version:-v1}/api.schema.yaml -g typescript-axios -o ./src/generated --additional-properties=supportsES6=true,npmName=@trustification/evalguard-api-model,npmVersion=1.0.0,typescriptThreePlus=true",
9+
"generate": "node scripts/generate.js",
1010
"dev": "ts-node src/index.ts",
1111
"clean": "rm -rf dist src/generated",
1212
"prebuild": "npm run clean && npm run generate",
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env node
2+
3+
const { execSync } = require('child_process');
4+
const fs = require('fs');
5+
const path = require('path');
6+
7+
// Get the version from npm config or default to v1
8+
const version = process.env.npm_config_version || 'v1';
9+
const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json'), 'utf8'));
10+
11+
console.log(`🔧 Generating TypeScript models for version: ${version}`);
12+
13+
const command = [
14+
'openapi-generator-cli',
15+
'generate',
16+
'-i', `../../schemas/${version}/api.schema.yaml`,
17+
'-g', 'typescript-axios',
18+
'-o', './src/generated',
19+
'--additional-properties=supportsES6=true,npmName=@trustification/evalguard-api-model,npmVersion=' + packageJson.version + ',typescriptThreePlus=true'
20+
].join(' ');
21+
22+
try {
23+
execSync(command, { stdio: 'inherit' });
24+
console.log('✅ TypeScript models generated successfully!');
25+
} catch (error) {
26+
console.error('❌ Error generating TypeScript models:', error.message);
27+
process.exit(1);
28+
}

api-models/typescript/src/generated/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## @trustification/evalguard-api-model@1.0.0
1+
## @trustification/evalguard-api-model@1.0.0-SNAPSHOT
22

33
This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
44

@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
3636
_published:_
3737

3838
```
39-
npm install @trustification/evalguard-api-model@1.0.0 --save
39+
npm install @trustification/evalguard-api-model@1.0.0-SNAPSHOT --save
4040
```
4141

4242
_unPublished (not recommended):_

api-models/typescript/src/generated/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@trustification/evalguard-api-model",
3-
"version": "1.0.0",
3+
"version": "1.0.0-SNAPSHOT",
44
"description": "OpenAPI client for @trustification/evalguard-api-model",
55
"author": "OpenAPI-Generator Contributors",
66
"repository": {

0 commit comments

Comments
 (0)