degenerate 0.2.1
degenerate: ^0.2.1 copied to clipboard
Generate typesafe Dart API clients from OpenAPI 3.x specs. Produces idiomatic models, serialization, and HTTP clients with pluggable adapters.
Changelog #
Important user-facing changes only. For full details see commit log.
0.2.1 #
- Fix required-but-nullable query parameters generating invalid assignments (
String?assigned toMap<String, String>) - Add totem-web.json to snapshot testing
0.2.0 #
Breaking changes to CLI defaults and output structure.
- New default output: generated code goes to
lib/<name>/(waslib/src/generated/). The-nflag sets the package name (default:api_client) and is appended to the-obase directory. - Workspace mode (
--workspace): generates a standalone Dart package withpubspec.yamltopackages/<name>/(customizable with-o). Includesresolution: workspacefor Dart workspaces. - Flattened directory structure: removed the
src/directory from generated output. Models, APIs, client, and barrel file are now siblings (e.g.models/,apis/,client/,<name>.dart). Workspace mode wraps these underlib/. - No pubspec in default mode: the CLI prints the dependencies you need to add to your own
pubspec.yamlafter generation. - Post-generation instructions: the CLI now prints setup instructions (dependencies for default mode, workspace + dependency config for workspace mode).
- Unformatted output: generated code is no longer annotated with
// dart format off. Rundart formaton the output to apply your project's formatting preferences. - Dropped
collectiondependency: replacedListEqualitywith a built-inlistEqualsindegenerate_runtime. One fewer dependency for generated code. - Simplified file headers: generated files now contain only
// GENERATED CODE - DO NOT MODIFY BY HAND.
0.1.5 #
- Fix published package containing
workspacefield in pubspec.yaml, which causeddart run build_runnerfailures for users
0.1.4 #
- Add stdin pipe support (
-i -): generate fromcurl,cat, or any command (e.g.curl https://example.com/spec.json | degenerate -i - -o lib/src/api -n my_api)
0.1.3 #
- Fix runtime crash for required+nullable fields in fromJson (
type 'Null' is not a subtype of type 'String' in type cast) - Fix enum values with special characters (e.g.
[DONE]) generating PascalCase instead of lowerCamelCase
0.1.2 #
- Add GitHub Actions CI
- Add release script (
make release) - Make runtime packages publishable to pub.dev (version constraints instead of path deps)
0.1.1 #
- Fix README image on pub.dev
- Add GitHub Actions CI
- Add release script (
make release) - Make runtime packages publishable to pub.dev (version constraints instead of path deps)
0.1.0 #
- Initial version.