Packages
oaspec
0.15.0
0.68.0
0.67.0
0.66.0
0.65.0
0.64.0
0.63.0
0.62.0
0.61.0
0.60.0
0.59.0
0.58.1
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.3
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.1.3
Generate Gleam code from OpenAPI 3.x specifications
Current section
Files
Jump to
Current section
Files
gleam.toml
name = "oaspec"
version = "0.15.0"
target = "erlang"
description = "Generate Gleam code from OpenAPI 3.x specifications"
licences = ["MIT"]
repository = { type = "github", user = "nao1215", repo = "oaspec" }
[dependencies]
gleam_stdlib = ">= 0.44.0 and < 2.0.0"
gleam_json = ">= 3.0.0 and < 4.0.0"
glint = ">= 1.0.0 and < 2.0.0"
simplifile = ">= 2.0.0 and < 3.0.0"
yay = ">= 2.0.0 and < 3.0.0"
argv = ">= 1.0.0 and < 2.0.0"
gleam_regexp = ">= 1.0.0 and < 2.0.0"
filepath = ">= 1.1.0 and < 2.0.0"
[dev-dependencies]
gleeunit = ">= 1.0.0 and < 2.0.0"
gleescript = ">= 1.0.0 and < 2.0.0"
glinter = ">= 2.14.0 and < 3.0.0"
[tools.glinter]
stats = true
warnings_as_errors = true
include = ["src/", "test/"]
# oaspec_test.gleam is ~12k lines of table-driven tests and the current
# glinter (2.14.0) analysis is quadratic in module size; exclude it so the
# linter completes in reasonable time. Other tests still get linted.
exclude = ["test/oaspec_test.gleam"]
# Every rule is set to "error" for the strictest configuration.
# function_complexity, module_complexity, unwrap_used and ffi_usage default
# to "off" inside glinter; enabling them here still reports any hits with
# severity "off" (they do not fail the build), but they are left in for
# visibility.
[tools.glinter.rules]
assert_ok_pattern = "error"
avoid_panic = "error"
avoid_todo = "error"
deep_nesting = "error"
discarded_result = "error"
division_by_zero = "error"
duplicate_import = "error"
echo = "error"
error_context_lost = "error"
ffi_usage = "error"
function_complexity = "error"
label_possible = "error"
missing_labels = "error"
missing_type_annotation = "error"
module_complexity = "error"
panic_without_message = "error"
prefer_guard_clause = "error"
redundant_case = "error"
short_variable_name = "error"
string_inspect = "error"
stringly_typed_error = "error"
thrown_away_error = "error"
todo_without_message = "error"
trailing_underscore = "error"
unnecessary_string_concatenation = "error"
unnecessary_variable = "error"
unqualified_import = "error"
unused_exports = "error"
unwrap_used = "error"
# Per-file rule suppressions. Each entry lists rules that are intentionally
# ignored in that file; prefer fixing the underlying issue over expanding
# this list.
[tools.glinter.ignore]
# Public test functions are auto-discovered by gleeunit via reflection, so
# they legitimately look "unused" and lack explicit return annotations.
"test/*.gleam" = [
"unused_exports",
"missing_type_annotation",
"assert_ok_pattern",
"label_possible",
]
# Codegen and OpenAPI traversal code takes many unlabelled helper
# parameters and is naturally branchy; fixing these cleanly would require a
# project-wide refactor that is out of scope for enabling glinter.
"src/oaspec/cli.gleam" = ["label_possible", "deep_nesting"]
"src/oaspec/config.gleam" = ["label_possible"]
"src/oaspec/capability.gleam" = ["label_possible"]
"src/oaspec/formatter.gleam" = ["label_possible"]
"src/oaspec/generate.gleam" = ["label_possible", "deep_nesting"]
"src/oaspec/codegen/*.gleam" = ["label_possible", "deep_nesting"]
"src/oaspec/openapi/*.gleam" = ["label_possible", "deep_nesting"]
"src/oaspec/util/*.gleam" = ["label_possible", "deep_nesting"]