diff --git a/.changeset/dry-pants-begin.md b/.changeset/dry-pants-begin.md new file mode 100644 index 000000000..b91edc326 --- /dev/null +++ b/.changeset/dry-pants-begin.md @@ -0,0 +1,5 @@ +--- +"@ensnode/ensnode-sdk": minor +--- + +Removed `nodejs` field from `EnsIndexerVersionInfo` data model. diff --git a/apps/ensadmin/src/app/mock/config-api.mock.ts b/apps/ensadmin/src/app/mock/config-api.mock.ts index 54d0244f9..71158f69c 100644 --- a/apps/ensadmin/src/app/mock/config-api.mock.ts +++ b/apps/ensadmin/src/app/mock/config-api.mock.ts @@ -27,7 +27,6 @@ export const ensIndexerPublicConfig = deserializeENSIndexerPublicConfig({ "tokenscope", ], versionInfo: { - nodejs: "22.18.0", ponder: "0.11.43", ensIndexer: "0.35.0", ensDb: "0.35.0", diff --git a/apps/ensadmin/src/components/connection/cards/ensnode-info.tsx b/apps/ensadmin/src/components/connection/cards/ensnode-info.tsx index d922aa946..2b579f290 100644 --- a/apps/ensadmin/src/components/connection/cards/ensnode-info.tsx +++ b/apps/ensadmin/src/components/connection/cards/ensnode-info.tsx @@ -447,23 +447,6 @@ function ENSNodeConfigCardContent({ } /> - {ensIndexerPublicConfig.versionInfo.nodejs}

- } - additionalInfo={ -

- Version of the{" "} - - Node.js - {" "} - runtime. -

- } - /> ({ // Mock the version-info module vi.mock("@/lib/version-info", () => ({ getEnsIndexerVersion: vi.fn(), - getNodeJsVersion: vi.fn(), getPackageVersion: vi.fn(), })); @@ -48,7 +47,7 @@ import { validateEnsIndexerVersionInfo, } from "@ensnode/ensnode-sdk"; -import { getEnsIndexerVersion, getNodeJsVersion, getPackageVersion } from "@/lib/version-info"; +import { getEnsIndexerVersion, getPackageVersion } from "@/lib/version-info"; // Test fixtures const mockEnsRainbowConfig: EnsRainbowPublicConfig = { @@ -58,7 +57,6 @@ const mockEnsRainbowConfig: EnsRainbowPublicConfig = { }; const mockVersionInfo: EnsIndexerVersionInfo = { - nodejs: "20.0.0", ponder: "0.9.0", ensDb: "1.0.0", ensIndexer: "1.0.0", @@ -83,7 +81,6 @@ function createMockPublicConfig(overrides: Partial = {}) // Helper to setup standard mocks function setupStandardMocks() { vi.mocked(getEnsIndexerVersion).mockReturnValue("1.0.0"); - vi.mocked(getNodeJsVersion).mockReturnValue("20.0.0"); vi.mocked(getPackageVersion).mockReturnValue("0.9.0"); vi.mocked(validateEnsIndexerVersionInfo).mockReturnValue(mockVersionInfo); } @@ -112,12 +109,10 @@ describe("PublicConfigBuilder", () => { // Assert expect(ensRainbowClientMock.config).toHaveBeenCalledTimes(1); expect(getEnsIndexerVersion).toHaveBeenCalledTimes(1); - expect(getNodeJsVersion).toHaveBeenCalledTimes(1); expect(getPackageVersion).toHaveBeenCalledWith("ponder"); expect(getPackageVersion).toHaveBeenCalledWith("@adraffy/ens-normalize"); expect(validateEnsIndexerVersionInfo).toHaveBeenCalledWith({ - nodejs: "20.0.0", ponder: "0.9.0", ensDb: "1.0.0", ensIndexer: "1.0.0", @@ -158,7 +153,6 @@ describe("PublicConfigBuilder", () => { // Assert expect(ensRainbowClientMock.config).toHaveBeenCalledTimes(1); expect(getEnsIndexerVersion).toHaveBeenCalledTimes(1); - expect(getNodeJsVersion).toHaveBeenCalledTimes(1); expect(getPackageVersion).toHaveBeenCalledTimes(2); expect(validateEnsIndexerVersionInfo).toHaveBeenCalledTimes(1); expect(validateEnsIndexerPublicConfig).toHaveBeenCalledTimes(1); @@ -183,11 +177,9 @@ describe("PublicConfigBuilder", () => { } as unknown as EnsRainbow.ApiClient; vi.mocked(getEnsIndexerVersion).mockReturnValue("2.0.0"); - vi.mocked(getNodeJsVersion).mockReturnValue("22.0.0"); vi.mocked(getPackageVersion).mockReturnValue("1.0.0"); const customVersionInfo: EnsIndexerVersionInfo = { - nodejs: "22.0.0", ponder: "1.0.0", ensDb: "2.0.0", ensIndexer: "2.0.0", diff --git a/apps/ensindexer/src/lib/public-config-builder/public-config-builder.ts b/apps/ensindexer/src/lib/public-config-builder/public-config-builder.ts index 33d591151..633542ca9 100644 --- a/apps/ensindexer/src/lib/public-config-builder/public-config-builder.ts +++ b/apps/ensindexer/src/lib/public-config-builder/public-config-builder.ts @@ -8,7 +8,7 @@ import { } from "@ensnode/ensnode-sdk"; import type { EnsRainbow } from "@ensnode/ensrainbow-sdk"; -import { getEnsIndexerVersion, getNodeJsVersion, getPackageVersion } from "@/lib/version-info"; +import { getEnsIndexerVersion, getPackageVersion } from "@/lib/version-info"; export class PublicConfigBuilder { /** @@ -80,7 +80,6 @@ export class PublicConfigBuilder { const ensDbVersion = ensIndexerVersion; return validateEnsIndexerVersionInfo({ - nodejs: getNodeJsVersion(), ponder: getPackageVersion("ponder"), ensDb: ensDbVersion, ensIndexer: ensIndexerVersion, diff --git a/apps/ensindexer/src/lib/version-info.ts b/apps/ensindexer/src/lib/version-info.ts index 8f47997d7..6a057b800 100644 --- a/apps/ensindexer/src/lib/version-info.ts +++ b/apps/ensindexer/src/lib/version-info.ts @@ -11,13 +11,6 @@ export function getEnsIndexerVersion(): string { return packageJson.version; } -/** - * Get Node.js version - */ -export function getNodeJsVersion(): string { - return process.versions.node; -} - /** * Get NPM package version. * diff --git a/docs/docs.ensnode.io/ensapi-openapi.json b/docs/docs.ensnode.io/ensapi-openapi.json index 979757cc1..56f025c3b 100644 --- a/docs/docs.ensnode.io/ensapi-openapi.json +++ b/docs/docs.ensnode.io/ensapi-openapi.json @@ -125,13 +125,12 @@ "versionInfo": { "type": "object", "properties": { - "nodejs": { "type": "string", "minLength": 1 }, "ponder": { "type": "string", "minLength": 1 }, "ensDb": { "type": "string", "minLength": 1 }, "ensIndexer": { "type": "string", "minLength": 1 }, "ensNormalize": { "type": "string", "minLength": 1 } }, - "required": ["nodejs", "ponder", "ensDb", "ensIndexer", "ensNormalize"] + "required": ["ponder", "ensDb", "ensIndexer", "ensNormalize"] } }, "required": [ diff --git a/docs/ensnode.io/src/content/docs/docs/usage/api.mdx b/docs/ensnode.io/src/content/docs/docs/usage/api.mdx index db67ae306..da07742e0 100644 --- a/docs/ensnode.io/src/content/docs/docs/usage/api.mdx +++ b/docs/ensnode.io/src/content/docs/docs/usage/api.mdx @@ -85,7 +85,7 @@ The response includes several important configuration categories: - **Feature Flags**: Boolean settings for experimental features and optional functionality - **Plugins**: Activated plugins -- **ENSIndexer Version Information**: Node.js version, Ponder framework version, +- **ENSIndexer Version Information**: Ponder framework version, ENSRainbow public config, ENSDb version, ENSIndexer version, [ENS Normalize version](https://www.npmjs.com/package/@adraffy/ens-normalize) ### Example response @@ -117,7 +117,6 @@ The response includes several important configuration categories: "tokenscope" ], "versionInfo": { - "nodejs": "22.18.0", "ponder": "0.16.1", "ensDb": "1.5.1", "ensIndexer": "1.5.1", diff --git a/packages/ensdb-sdk/src/client/ensdb-client.mock.ts b/packages/ensdb-sdk/src/client/ensdb-client.mock.ts index 7cb2c59d0..824c00ec6 100644 --- a/packages/ensdb-sdk/src/client/ensdb-client.mock.ts +++ b/packages/ensdb-sdk/src/client/ensdb-client.mock.ts @@ -42,7 +42,6 @@ export const publicConfig = { namespace: "mainnet", plugins: [PluginName.Subgraph], versionInfo: { - nodejs: "22.10.12", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", diff --git a/packages/ensnode-sdk/src/ensapi/client.test.ts b/packages/ensnode-sdk/src/ensapi/client.test.ts index f53ea9ce0..2adf59519 100644 --- a/packages/ensnode-sdk/src/ensapi/client.test.ts +++ b/packages/ensnode-sdk/src/ensapi/client.test.ts @@ -86,7 +86,6 @@ const EXAMPLE_CONFIG_RESPONSE = { PluginName.Registrars, ], versionInfo: { - nodejs: "22.18.0", ponder: "0.11.43", ensDb: "0.32.0", ensIndexer: "0.32.0", diff --git a/packages/ensnode-sdk/src/ensapi/config/conversions.test.ts b/packages/ensnode-sdk/src/ensapi/config/conversions.test.ts index ae15afb0c..fcd9c524e 100644 --- a/packages/ensnode-sdk/src/ensapi/config/conversions.test.ts +++ b/packages/ensnode-sdk/src/ensapi/config/conversions.test.ts @@ -30,7 +30,6 @@ const MOCK_ENSAPI_PUBLIC_CONFIG = { ensDb: "0.36.0", ensIndexer: "0.36.0", ensNormalize: "1.1.1", - nodejs: "20.0.0", ponder: "0.5.0", }, }, @@ -65,7 +64,6 @@ describe("ENSApi Config Serialization/Deserialization", () => { ensDb: "0.36.0", ensIndexer: "0.36.0", ensNormalize: "1.1.1", - nodejs: "20.0.0", ponder: "0.5.0", }, }, diff --git a/packages/ensnode-sdk/src/ensindexer/client.mock.ts b/packages/ensnode-sdk/src/ensindexer/client.mock.ts index 84d0ceaa2..8bca076dc 100644 --- a/packages/ensnode-sdk/src/ensindexer/client.mock.ts +++ b/packages/ensnode-sdk/src/ensindexer/client.mock.ts @@ -33,7 +33,6 @@ export const configResponseMock = { PluginName.Registrars, ], versionInfo: { - nodejs: "22.18.0", ponder: "0.11.43", ensDb: "0.32.0", ensIndexer: "0.32.0", diff --git a/packages/ensnode-sdk/src/ensindexer/config/conversions.test.ts b/packages/ensnode-sdk/src/ensindexer/config/conversions.test.ts index 79b1c82c0..68f8da12f 100644 --- a/packages/ensnode-sdk/src/ensindexer/config/conversions.test.ts +++ b/packages/ensnode-sdk/src/ensindexer/config/conversions.test.ts @@ -25,7 +25,6 @@ describe("ENSIndexer: Config", () => { namespace: "mainnet", plugins: [PluginName.Subgraph], versionInfo: { - nodejs: "v22.10.12", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", @@ -68,7 +67,6 @@ describe("ENSIndexer: Config", () => { namespace: "mainnet", plugins: [PluginName.Subgraph], versionInfo: { - nodejs: "v22.10.12", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", diff --git a/packages/ensnode-sdk/src/ensindexer/config/types.ts b/packages/ensnode-sdk/src/ensindexer/config/types.ts index afc70c50d..ed3977ea8 100644 --- a/packages/ensnode-sdk/src/ensindexer/config/types.ts +++ b/packages/ensnode-sdk/src/ensindexer/config/types.ts @@ -22,13 +22,6 @@ export enum PluginName { * Version info about ENSIndexer and its dependencies. */ export interface EnsIndexerVersionInfo { - /** - * Node.js runtime version - * - * @see https://nodejs.org/en/about/previous-releases - **/ - nodejs: string; - /** * Ponder framework version * diff --git a/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.test.ts b/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.test.ts index 182251613..237911773 100644 --- a/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.test.ts +++ b/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.test.ts @@ -105,14 +105,12 @@ describe("ENSIndexer: Config", () => { it("can parse version info values", () => { expect( makeEnsIndexerVersionInfoSchema().parse({ - nodejs: "v22.22.22", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", ensNormalize: "1.11.1", } satisfies EnsIndexerVersionInfo), ).toStrictEqual({ - nodejs: "v22.22.22", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", @@ -122,7 +120,6 @@ describe("ENSIndexer: Config", () => { expect( formatParseError( makeEnsIndexerVersionInfoSchema().safeParse({ - nodejs: "", ponder: "", ensDb: "", ensIndexer: "", @@ -130,8 +127,6 @@ describe("ENSIndexer: Config", () => { } satisfies EnsIndexerVersionInfo), ), ).toStrictEqual(`✖ Value must be a non-empty string. - → at nodejs -✖ Value must be a non-empty string. → at ponder ✖ Value must be a non-empty string. → at ensDb @@ -145,7 +140,6 @@ describe("ENSIndexer: Config", () => { expect( formatParseError( makeEnsIndexerVersionInfoSchema().safeParse({ - nodejs: "v22.22.22", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.33.0", // Different from ensDb @@ -171,7 +165,6 @@ describe("ENSIndexer: Config", () => { plugins: [PluginName.Subgraph, PluginName.Registrars], // Multiple plugins allowed when not subgraph compatible databaseSchemaName: "test_schema", versionInfo: { - nodejs: "v22.22.22", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", @@ -226,7 +219,6 @@ describe("ENSIndexer: Config", () => { plugins: [PluginName.Subgraph], databaseSchemaName: "test_schema", versionInfo: { - nodejs: "v22.22.22", ponder: "0.11.25", ensDb: "0.32.0", ensIndexer: "0.32.0", diff --git a/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.ts b/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.ts index c491b8844..380b9924a 100644 --- a/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.ts +++ b/packages/ensnode-sdk/src/ensindexer/config/zod-schemas.ts @@ -99,7 +99,6 @@ export const makeEnsIndexerVersionInfoSchema = (valueLabel: string = "Value") => z .object( { - nodejs: makeNonEmptyStringSchema(), ponder: makeNonEmptyStringSchema(), ensDb: makeNonEmptyStringSchema(), ensIndexer: makeNonEmptyStringSchema(),