From 0801785653a28abfbe175337b5fe04295d3e0949 Mon Sep 17 00:00:00 2001 From: lihbr Date: Wed, 3 May 2023 11:12:20 +0200 Subject: [PATCH] docs: wording and style Co-authored-by: Angelo Ashmore --- messages/endpoint-must-use-cdn.md | 14 +++++++------- src/createClient.ts | 10 +++------- test/client.test.ts | 4 ++-- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/messages/endpoint-must-use-cdn.md b/messages/endpoint-must-use-cdn.md index b912c975..1d78848d 100644 --- a/messages/endpoint-must-use-cdn.md +++ b/messages/endpoint-must-use-cdn.md @@ -1,6 +1,6 @@ # `endpoint` must use CDN -`@prismicio/client` uses either a repository name or a repository endpoint to query content from Prismic. +`@prismicio/client` uses either a Prismic repository name or a Prismic Rest API v2 repository endpoint to query content from Prismic. The repository name or repository endpoint must be provided when creating a `@prismicio/client` like the following: @@ -8,22 +8,22 @@ The repository name or repository endpoint must be provided when creating a `@pr import * as prismic from "@prismicio/client"; // Using the repository name -const client = prismic.createClient("example") +const client = prismic.createClient("example-prismic-repo") // Using the repository endpoint -const client = prismic.createClient("https://example.cdn.prismic.io/api/v2") +const client = prismic.createClient("https://example-prismic-repo.cdn.prismic.io/api/v2") ``` -When creating a `@prismicio/client` with a repository endpoint, endpoint's subdomain must feature the `.cdn` suffix. +When creating a `@prismicio/client` with a repository endpoint, the endpoint's subdomain must feature the `.cdn` suffix. ```typescript import * as prismic from "@prismicio/client"; // ✅ Correct -const client = prismic.createClient("https://example.cdn.prismic.io/api/v2") +const client = prismic.createClient("https://example-prismic-repo.cdn.prismic.io/api/v2") // ❌ Incorrect -const client = prismic.createClient("https://example.prismic.io/api/v2") +const client = prismic.createClient("https://example-prismic-repo.prismic.io/api/v2") ``` -Not using the `.cdn` version of your repository endpoint can have unexpected side-effects and cause performance issues when query Prismic. +Not using the `.cdn` version of your repository endpoint can have unexpected side-effects and cause performance issues when querying Prismic. diff --git a/src/createClient.ts b/src/createClient.ts index aba783e9..c80b659e 100644 --- a/src/createClient.ts +++ b/src/createClient.ts @@ -504,10 +504,7 @@ export class Client { constructor(repositoryNameOrEndpoint: string, options: ClientConfig = {}) { if (isRepositoryEndpoint(repositoryNameOrEndpoint)) { if (process.env.NODE_ENV === "development") { - /** - * Matches non-API v2 `.prismic.io` endpoints - * {@link https://regex101.com/r/xRsavu/1} - */ + // Matches non-API v2 `.prismic.io` endpoints, see: https://regex101.com/r/xRsavu/1 if (/\.prismic\.io\/(?!api\/v2\/?)/i.test(repositoryNameOrEndpoint)) { throw new PrismicError( "@prismicio/client only supports Prismic Rest API V2. Please provide only the repository name to the first createClient() parameter or use the getRepositoryEndpoint() helper to generate a valid Rest API V2 endpoint URL.", @@ -519,9 +516,8 @@ export class Client { const hostname = new URL( repositoryNameOrEndpoint, ).hostname.toLowerCase(); - /** - * Matches non-.cdn `.prismic.io` endpoints - */ + + // Matches non-.cdn `.prismic.io` endpoints if ( hostname.endsWith(".prismic.io") && !hostname.endsWith(".cdn.prismic.io") diff --git a/test/client.test.ts b/test/client.test.ts index 2197e560..b54bd1b0 100644 --- a/test/client.test.ts +++ b/test/client.test.ts @@ -105,7 +105,7 @@ it("constructor throws if a prismic.io endpoint is given that is not for Rest AP prismic.createClient(prismic.getRepositoryEndpoint("qwerty"), { fetch }); }, "An endpoint created with getRepositoryEndpoint does not throw").not.toThrow(); - process.env.NODE_ENV === originalNodeEnv; + process.env.NODE_ENV = originalNodeEnv; }); it("constructor warns if a non-.cdn prismic.io endpoint is given", () => { @@ -146,7 +146,7 @@ it("constructor warns if a non-.cdn prismic.io endpoint is given", () => { consoleWarnSpy.mockRestore(); - process.env.NODE_ENV === originalNodeEnv; + process.env.NODE_ENV = originalNodeEnv; }); it("constructor throws if fetch is unavailable", () => {