v1.0.0: The Stable Release: JSON Schema, GraphQL & Exact Match Docs
Added
- v1.0.0 Stable:
smileis 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 (.jsonfiles with a$schemakey). Three rules active out of the box:missing-title— root schema has notitlefield.untyped-property— properties without atype(mirrors the OpenAPI rule).missing-description— properties without adescriptionfield.
- 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—@deprecateddirectives with noreasonargument.
- Auto-detection extended:
detectSpecFormatandlintSpecnow transparently handle
all four formats.smile lint schema.jsonandsmile lint schema.graphqljust 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/smileView Full CHANGELOG