Skip to content

v1.0.0: The Stable Release: JSON Schema, GraphQL & Exact Match Docs

Choose a tag to compare

@github-actions github-actions released this 27 Jul 09:29

Added

  • v1.0.0 Stable: smile is officially considered stable for production use.
  • Exact CLI Formatting Docs: Documentation now perfectly mirrors the real CLI output
    (the ASCII art smile and "crime scene" violation formatting).
  • JSON Schema Linting (lintJsonSchemaSpec): Full static analysis for JSON Schema
    documents (.json files with a $schema key). Three rules active out of the box:
    • missing-title — root schema has no title field.
    • untyped-property — properties without a type (mirrors the OpenAPI rule).
    • missing-description — properties without a description field.
  • GraphQL SDL Linting (lintGraphQLSpec): Full static analysis for GraphQL Schema
    Definition Language files (.graphql / .gql). Three rules active out of the box:
    • missing-type-description — object types, interfaces, enums, and inputs without a
      description block.
    • missing-field-description — fields on object types and interfaces without a description.
    • deprecated-without-reason@deprecated directives with no reason argument.
  • Auto-detection extended: detectSpecFormat and lintSpec now transparently handle
    all four formats. smile lint schema.json and smile lint schema.graphql just work.
  • 8 new example files: sample-jsonschema.json, sample-jsonschema-clean.json,
    sample-graphql.graphql, sample-graphql-clean.graphql — used as test fixtures.

Tests

  • Test suite grows from 24 to 45 tests across 6 files (all passing).
    • lintJsonSchema.test.ts — 8 tests covering broken and clean JSON Schema specs.
    • lintGraphQL.test.ts — 9 tests covering all 3 GraphQL rules and the clean path.
    • detectSpecFormat.test.ts — extended from 4 to 8 tests to cover the new formats.


📦 Installation

npm install -g @mrjacket/smile

View Full CHANGELOG