From 28f4da9cfb5517d7a5322bea3c5460ce2eefc78e Mon Sep 17 00:00:00 2001 From: Tony133 Date: Tue, 5 May 2026 22:06:59 +0200 Subject: [PATCH 1/3] refactor(types): migrate from tsd to tstyche --- package.json | 6 +-- types/{index.test-d.ts => index.tst.ts} | 56 +++++++++++++------------ 2 files changed, 32 insertions(+), 30 deletions(-) rename types/{index.test-d.ts => index.tst.ts} (54%) diff --git a/package.json b/package.json index 1c20abb..8a4ca67 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "lint:fix": "eslint --fix", "test": "npm run test:unit && npm run test:typescript", "test:unit": "c8 --100 node --test", - "test:typescript": "tsd" + "test:typescript": "tstyche" }, "repository": { "type": "git", @@ -71,6 +71,6 @@ "eslint": "^9.17.0", "fluent-json-schema": "^6.0.0", "neostandard": "^0.13.0", - "tsd": "^0.33.0" + "tstyche": "^7.0.0" } -} +} \ No newline at end of file diff --git a/types/index.test-d.ts b/types/index.tst.ts similarity index 54% rename from types/index.test-d.ts rename to types/index.tst.ts index dace7a6..a632691 100644 --- a/types/index.test-d.ts +++ b/types/index.tst.ts @@ -1,11 +1,11 @@ -import { expectError, expectType } from 'tsd' +import { expect } from 'tstyche' import envSchema, { EnvSchemaData, EnvSchemaOpt, keywords, envSchema as envSchemaNamed, default as envSchemaDefault, -} from '..' +} from '.' import Ajv, { KeywordDefinition, JSONSchemaType } from 'ajv' import { Static, Type } from 'typebox' @@ -34,62 +34,62 @@ const data = { foo: 'bar', } -expectType(envSchema()) -expectType(envSchemaNamed()) -expectType(envSchemaDefault()) +expect(envSchema()).type.toBe() +expect(envSchemaNamed()).type.toBe() +expect(envSchemaDefault()).type.toBe() const emptyOpt: EnvSchemaOpt = {} -expectType(emptyOpt) +expect(emptyOpt).type.toBe() const optWithSchemaTypebox: EnvSchemaOpt = { schema: schemaTypebox, } -expectType(optWithSchemaTypebox) +expect(optWithSchemaTypebox).type.toBe() const optWithSchemaWithType: EnvSchemaOpt = { schema: schemaWithType, } -expectType>(optWithSchemaWithType) +expect(optWithSchemaWithType).type.toBe>() const optWithData: EnvSchemaOpt = { data, } -expectType(optWithData) +expect(optWithData).type.toBe() -expectError({ - data: [], // min 1 item -}) +expect({ + data: [], +}).type.not.toBeAssignableTo() const optWithArrayData: EnvSchemaOpt = { data: [{}], } -expectType(optWithArrayData) +expect(optWithArrayData).type.toBe() const optWithMultipleItemArrayData: EnvSchemaOpt = { data: [{}, {}], } -expectType(optWithMultipleItemArrayData) +expect(optWithMultipleItemArrayData).type.toBe() const optWithDotEnvBoolean: EnvSchemaOpt = { dotenv: true, } -expectType(optWithDotEnvBoolean) +expect(optWithDotEnvBoolean).type.toBe() const optWithDotEnvOpt: EnvSchemaOpt = { dotenv: {}, } -expectType(optWithDotEnvOpt) +expect(optWithDotEnvOpt).type.toBe() const optWithEnvExpand: EnvSchemaOpt = { expandEnv: true, } -expectType(optWithEnvExpand) +expect(optWithEnvExpand).type.toBe() const optWithAjvInstance: EnvSchemaOpt = { ajv: new Ajv(), } -expectType(optWithAjvInstance) -expectType(envSchema.keywords.separator) +expect(optWithAjvInstance).type.toBe() +expect(envSchema.keywords.separator).type.toBe() const optWithAjvCustomOptions: EnvSchemaOpt = { ajv: { @@ -98,18 +98,20 @@ const optWithAjvCustomOptions: EnvSchemaOpt = { }, }, } -expectType(optWithAjvCustomOptions) -expectError({ +expect(optWithAjvCustomOptions).type.toBe() + +expect({ ajv: { - customOptions (_ajvInstance: Ajv) {}, + customOptions (_ajvInstance: Ajv) { + }, }, -}) +}).type.not.toBeAssignableTo() const envSchemaWithType = envSchema({ schema: schemaWithType }) -expectType(envSchemaWithType) +expect(envSchemaWithType).type.toBe() const envSchemaTypebox = envSchema({ schema: schemaTypebox }) -expectType(envSchemaTypebox) +expect(envSchemaTypebox).type.toBe() -expectType(keywords.separator) -expectType(envSchema.keywords.separator) +expect(keywords.separator).type.toBe() +expect(envSchema.keywords.separator).type.toBe() From 0a122ad2224a1b82266efe0aab8d8131a736ea5f Mon Sep 17 00:00:00 2001 From: Antonio Tripodi Date: Wed, 6 May 2026 22:39:12 +0200 Subject: [PATCH 2/3] chore: update index.tst.ts Co-authored-by: Tom Mrazauskas Signed-off-by: Antonio Tripodi --- types/index.tst.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/index.tst.ts b/types/index.tst.ts index a632691..092c5f1 100644 --- a/types/index.tst.ts +++ b/types/index.tst.ts @@ -56,9 +56,9 @@ const optWithData: EnvSchemaOpt = { } expect(optWithData).type.toBe() -expect({ +expect().type.not.toBeAssignableFrom({ data: [], -}).type.not.toBeAssignableTo() +}) const optWithArrayData: EnvSchemaOpt = { data: [{}], From b9c56babb9542b26023829f7bf4166ac4589a98b Mon Sep 17 00:00:00 2001 From: Tony133 Date: Wed, 6 May 2026 22:42:46 +0200 Subject: [PATCH 3/3] chore: update index.tst.ts --- types/index.tst.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/types/index.tst.ts b/types/index.tst.ts index 092c5f1..2cc1ff7 100644 --- a/types/index.tst.ts +++ b/types/index.tst.ts @@ -100,12 +100,12 @@ const optWithAjvCustomOptions: EnvSchemaOpt = { } expect(optWithAjvCustomOptions).type.toBe() -expect({ - ajv: { - customOptions (_ajvInstance: Ajv) { - }, - }, -}).type.not.toBeAssignableTo() +expect() + .type.not.toBeAssignableFrom({ + ajv: { + customOptions (_ajvInstance: Ajv) {} + } + }) const envSchemaWithType = envSchema({ schema: schemaWithType }) expect(envSchemaWithType).type.toBe()