{"record":{"id":"c610ffebc9f3d595","repo":"OpenAPITools/openapi-generator","slug":"invalid-model-property-naming-naming-must-be-c610ff","errorCode":null,"errorMessage":"Invalid model property naming '{naming}'. Must be 'original', 'camelCase', 'PascalCase' or 'snake_case'","messagePattern":"Invalid model property naming '(.+?)'\\. Must be 'original', 'camelCase', 'PascalCase' or 'snake_case'","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java","lineNumber":639,"sourceCode":"        } else if (ModelUtils.isIntegerSchema(p)) {\n            if (p.getDefault() != null) {\n                return p.getDefault().toString();\n            }\n        } else if (ModelUtils.isStringSchema(p)) {\n            if (p.getDefault() != null) {\n                return \"'\" + p.getDefault() + \"'\";\n            }\n        }\n\n        return null;\n    }\n\n    public void setModelPropertyNaming(String naming) {\n        if (\"original\".equals(naming) || \"camelCase\".equals(naming) ||\n                \"PascalCase\".equals(naming) || \"snake_case\".equals(naming)) {\n            this.modelPropertyNaming = naming;\n        } else {\n            throw new IllegalArgumentException(\"Invalid model property naming '\" +\n                    naming + \"'. Must be 'original', 'camelCase', \" +\n                    \"'PascalCase' or 'snake_case'\");\n        }\n    }\n\n    @Override\n    public String toDefaultValueWithParam(String name, Schema p) {\n        String type = normalizeType(getTypeDeclaration(p));\n        if (!StringUtils.isEmpty(p.get$ref())) {\n            return \" = \" + type + \".constructFromObject(data['\" + name + \"']);\";\n        } else {\n            return \" = ApiClient.convertToType(data['\" + name + \"'], \" + type + \");\";\n        }\n    }\n\n    @Override\n    public void setParameterExampleValue(CodegenParameter p) {\n        String example;","sourceCodeStart":621,"sourceCodeEnd":657,"githubUrl":"https://github.com/OpenAPITools/openapi-generator/blob/fcec517be3cf5b7964296bcba25fbc97541484e7/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java#L621-L657","documentation":"Setter validating the 'modelPropertyNaming' additional property of the plain javascript generator. Accepts only original, camelCase, PascalCase and snake_case (case-sensitive equals chain); anything else throws IllegalArgumentException during processOpts and generation stops before files are written. Default is camelCase.","triggerScenarios":"`-g javascript -p modelPropertyNaming=snake` (missing '_case'), `camelcase`, `pascalcase`, `kebab-case`; programmatic setModelPropertyNaming(\"CamelCase\").","commonSituations":"Copy-pasting the option between generators with different vocabularies; casing typos in YAML pipelines; docs examples that shorten snake_case to snake.","solutions":["Use exactly `original`, `camelCase`, `PascalCase`, or `snake_case`.","Omit the option — default camelCase applies.","Verify against `config-help -g javascript` output for your installed CLI version."],"exampleFix":"# before\nopenapi-generator-cli generate -g javascript -i api.yaml -p modelPropertyNaming=snake\n# after\nopenapi-generator-cli generate -g javascript -i api.yaml -p modelPropertyNaming=snake_case","handlingStrategy":"validation","validationCode":"# shell: exact-case allowlist for the plain javascript generator\nmpn=\"${MODEL_PROPERTY_NAMING:-camelCase}\"\ncase \"$mpn\" in\n  original|camelCase|PascalCase|snake_case) ;;\n  *) echo \"modelPropertyNaming must be original|camelCase|PascalCase|snake_case, got: $mpn\" >&2; exit 2 ;;\nesac","typeGuard":"type ModelPropertyNaming = 'original' | 'camelCase' | 'PascalCase' | 'snake_case';\nconst VALID = new Set(['original', 'camelCase', 'PascalCase', 'snake_case']);\nfunction isModelPropertyNaming(v: string): v is ModelPropertyNaming {\n  return VALID.has(v);\n}","tryCatchPattern":"try {\n    new DefaultGenerator().opts(clientOptInput).generate();\n} catch (IllegalArgumentException e) {\n    throw new IllegalStateException(\"Invalid modelPropertyNaming for javascript: \" + e.getMessage(), e);\n}","preventionTips":["Verify values against `config-help -g javascript` for the installed version.","Keep casing exact: 'camelCase' and 'PascalCase', never 'camelcase'/'pascalcase'.","Centralize generator options in one script per target language."],"tags":["openapi-generator","javascript","configuration","naming"],"backgroundTag":"invalid-model-property-naming","analyzedSha":"fcec517be3cf5b7964296bcba25fbc97541484e7","analyzedAt":"2026-08-22T11:13:11.613Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}