Skip to content

Commit 7d68a30

Browse files
committed
feat: renamed generated output package, included post processing
1 parent ff5abb5 commit 7d68a30

File tree

4 files changed

+64
-26
lines changed

4 files changed

+64
-26
lines changed

types/codegen/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type EndChatResult = boolean

types/codegen/openapitools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"supportsES6": true,
2424
"modelPropertyNaming": "original",
2525
"enumPropertyNaming": "original",
26-
"npmName": "@json-schema-openapi/generated",
26+
"npmName": "@aws/language-server-runtimes-generated-types",
2727
"npmVersion": "1.0.0",
2828
"withInterfaces": true,
2929
"nullSafeAdditionalProps": false,

types/codegen/package.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
{
2-
"name": "json-schema-openapi-converter",
3-
"version": "0.1.0",
4-
"description": "Convert TypeScript interfaces to JSON Schema and generate TypeScript using OpenAPI Generator",
5-
"main": "src/validate-generated.ts",
6-
"scripts": {
7-
"build": "tsc",
8-
"test": "echo \"Error: no test specified\" && exit 1",
9-
"generate": "openapi-generator-cli generate",
10-
"generate:direct": "openapi-generator-cli generate -g typescript-fetch -i schema/chatTypes.json -o generated -t custom-templates --additional-properties=supportsES6=true,modelPropertyNaming=original,enumPropertyNaming=original,npmName=@json-schema-openapi/generated,npmVersion=1.0.0,withInterfaces=true,nullSafeAdditionalProps=true,withoutRuntimeChecks=true,stringEnums=true,disallowAdditionalPropertiesIfNotPresent=false,useSingleRequestParameter=true",
11-
"validate": "ts-node src/validate-generated.ts"
12-
},
13-
"keywords": [
14-
"openapi",
15-
"json-schema",
16-
"typescript",
17-
"generator"
18-
],
19-
"author": "",
20-
"license": "MIT",
21-
"devDependencies": {
22-
"@openapitools/openapi-generator-cli": "^2.21.0",
23-
"@types/node": "^24.0.4",
24-
"ts-node": "^10.9.2",
25-
"typescript": "^5.8.3"
26-
}
2+
"name": "json-schema-openapi-converter",
3+
"version": "0.1.0",
4+
"description": "Convert TypeScript interfaces to JSON Schema and generate TypeScript using OpenAPI Generator",
5+
"main": "src/validate-generated.ts",
6+
"scripts": {
7+
"build": "tsc",
8+
"test": "echo \"Error: no test specified\" && exit 1",
9+
"generate": "openapi-generator-cli generate && node post-generate.js",
10+
"generate:direct": "openapi-generator-cli generate -g typescript-fetch -i schema/chatTypes.json -o generated -t custom-templates --additional-properties=supportsES6=true,modelPropertyNaming=original,enumPropertyNaming=original,npmName=@json-schema-openapi/generated,npmVersion=1.0.0,withInterfaces=true,nullSafeAdditionalProps=true,withoutRuntimeChecks=true,stringEnums=true,disallowAdditionalPropertiesIfNotPresent=false,useSingleRequestParameter=true && node post-generate.js",
11+
"validate": "ts-node src/validate-generated.ts"
12+
},
13+
"keywords": [
14+
"openapi",
15+
"json-schema",
16+
"typescript",
17+
"generator"
18+
],
19+
"author": "",
20+
"license": "MIT",
21+
"devDependencies": {
22+
"@openapitools/openapi-generator-cli": "^2.21.0",
23+
"@types/node": "^24.0.4",
24+
"ts-node": "^10.9.2",
25+
"typescript": "^5.8.3"
26+
}
2727
}

types/codegen/post-generate.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/env node
2+
3+
const fs = require('fs')
4+
const path = require('path')
5+
6+
// Path to the generated index.ts file
7+
const indexPath = path.join(__dirname, 'generated/src/models/index.ts')
8+
9+
// Read the constants file
10+
const constants = fs.readFileSync(path.join(__dirname, 'constants.ts'), 'utf8')
11+
12+
// Read the generated index.ts file
13+
let indexContent = fs.readFileSync(indexPath, 'utf8')
14+
15+
// Find the position after the imports
16+
const importEndPos = indexContent.lastIndexOf('import')
17+
const importEndLinePos = indexContent.indexOf('\n', importEndPos) + 1
18+
19+
// Insert the constants after the imports
20+
const newContent =
21+
indexContent.substring(0, importEndLinePos) +
22+
'\n// Constants\n' +
23+
constants +
24+
'\n' +
25+
indexContent.substring(importEndLinePos)
26+
27+
// Modify PartialResultParams interface
28+
let modifiedContent = newContent.replace(
29+
/export\s+interface\s+PartialResultParams\s*\{/g,
30+
'interface PartialResultParams {'
31+
)
32+
33+
// Write the updated content back to the file
34+
fs.writeFileSync(indexPath, modifiedContent)
35+
36+
console.log('Constants added to generated index.ts file')
37+
console.log('PartialResultParams interface modified')

0 commit comments

Comments
 (0)