Skip to content

Commit

Permalink
Updated @vue-storefront/nuxt to latest sdk version & set cdnCacheBust…
Browse files Browse the repository at this point in the history
…ingId as optional for sdk (#7189)

* updated @vue-storefront/nuxt to latest sdk version & set cdnCacheBustingId option in sdk as optional

* chore: changed planned version

* docs: regenerated changeset

* feat: cr tweaks

* feat: cdnCacheBustingId is not being attached to the url when not provided

* feat: adjusted code to match types
  • Loading branch information
michaelKurowski committed Jun 17, 2024
1 parent 877c7b1 commit 9703ef9
Show file tree
Hide file tree
Showing 13 changed files with 63 additions and 15 deletions.
5 changes: 5 additions & 0 deletions .changeset/four-walls-fail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@vue-storefront/next": minor
---

- **[ADDED]** Added .config parameter in createSdk callback
5 changes: 5 additions & 0 deletions .changeset/grumpy-boats-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@vue-storefront/sdk": minor
---

- **[CHANGED]** cdnCacheBustingId is now optional
7 changes: 7 additions & 0 deletions .changeset/thin-grapes-exist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@vue-storefront/nuxt": major
---

- **[CHANGED]** Updated core sdk dependency to latest version
- **[ADDED]** Added .config parameter in createSdk callback

6 changes: 5 additions & 1 deletion packages/next/src/sdk/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,11 @@ export function createSdk<TConfig extends Record<string, any>>(
buildModule,
middlewareModule,
getRequestHeaders,
middlewareUrl
middlewareUrl,
config: {
middlewareUrl,
defaults: contextConfig,
}
});

return initSDK(resolvedConfig);
Expand Down
4 changes: 4 additions & 0 deletions packages/next/src/sdk/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ export type StaticContext = {
middlewareModule: typeof middlewareModule;
middlewareUrl: string;
defaults: typeof contextConfig;
config: {
middlewareUrl: string;
defaults: typeof contextConfig;
};
};

type InjectedContext = DynamicContext & StaticContext;
Expand Down
2 changes: 1 addition & 1 deletion packages/nuxt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"dependencies": {
"@nuxt/kit": "^3.7.4",
"@nuxt/schema": "^3.7.4",
"@vue-storefront/sdk": "^1.4.0",
"@vue-storefront/sdk": "^3.0.0",
"knitwork": "^1.0.0",
"defu": "^6.0.0"
},
Expand Down
6 changes: 6 additions & 0 deletions packages/nuxt/src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ export type SdkConfig = ${genInlineTypeImport(
from: localResolver.resolve("./runtime/utils/composeMiddlewareUrl"),
});

addImports({
name: "getDefaults",
as: "getDefaults",
from: localResolver.resolve("./runtime/utils/defaults"),
});

addTemplate({
src: localResolver.resolve("./runtime/useSdk.template"),
filename: "useSdk.ts",
Expand Down
16 changes: 13 additions & 3 deletions packages/nuxt/src/runtime/defineSdkConfig.template
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { buildModule, middlewareModule } from "@vue-storefront/sdk";
import { composeMiddlewareUrl, useNuxtApp, useRequestHeaders } from "#imports";
import { composeMiddlewareUrl, useNuxtApp, useRequestHeaders, getDefaults } from "#imports";
import { SdkModuleOptions } from "./vsfModule";

type InjectedContext = {
Expand All @@ -12,6 +12,11 @@ type InjectedContext = {
*/
getCookieHeader: () => Record<string, string>;
getRequestHeaders: () => Record<string, string>;
defaults: ReturnType<typeof getDefaults>;
config: {
middlewareUrl: string;
defaults: ReturnType<typeof getDefaults>;
};
};

type Config<TConfig> = (context: InjectedContext) => TConfig;
Expand Down Expand Up @@ -61,9 +66,14 @@ export function defineSdkConfig<TConfig>(config: Config<TConfig>) {
return config({
buildModule,
middlewareModule,
middlewareUrl,
getCookieHeader,
getRequestHeaders
getRequestHeaders,
defaults: getDefaults(),
middlewareUrl,
config: {
defaults: getDefaults(),
middlewareUrl,
}
});
}
}
5 changes: 5 additions & 0 deletions packages/nuxt/src/runtime/utils/defaults.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { contextConfig } from "@storefront/shared";

export function getDefaults() {
return contextConfig;
}
7 changes: 6 additions & 1 deletion packages/nuxt/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
{
"extends": "./.nuxt/tsconfig.json"
"extends": "./.nuxt/tsconfig.json",
"compilerOptions": {
"paths": {
"@storefront/shared": ["../shared"]
}
},
}
2 changes: 1 addition & 1 deletion packages/sdk/src/modules/middlewareModule/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ export type Options<
/**
* Unique identifier for CDN cache busting.
*/
cdnCacheBustingId: string;
cdnCacheBustingId?: string;
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const getRequestSender = (options: Options): RequestSender => {
ssrApiUrl,
defaultRequestConfig = {},
methodsRequestConfig = {},
cdnCacheBustingId,
cdnCacheBustingId = undefined,
} = options;

const getUrl = (
Expand All @@ -48,9 +48,11 @@ export const getRequestSender = (options: Options): RequestSender => {
// If there are query params, append them to the URL as `?body=[<strignified query params>]`
const serializedBody = encodeURIComponent(JSON.stringify(params));
// Serialize CDN cache busting ID
const serializedCdnCacheBustingId = encodeURIComponent(cdnCacheBustingId);
const serializedCdnCacheBustingId = cdnCacheBustingId
? `&cdnCacheBustingId=${encodeURIComponent(cdnCacheBustingId)}`
: "";

return `${url}?body=${serializedBody}&cdnCacheBustingId=${serializedCdnCacheBustingId}`;
return `${url}?body=${serializedBody}${serializedCdnCacheBustingId}`;
};

const getConfig = (
Expand Down
5 changes: 0 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5038,11 +5038,6 @@
rollup "^2.59.0"
rollup-plugin-typescript2 "^0.35.0"

"@vue-storefront/sdk@^1.4.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@vue-storefront/sdk/-/sdk-1.5.0.tgz#f283eb57a5113e355206a0590dab874a6739e8e8"
integrity sha512-dV6CBCx3XcEdd9EmAtvyY5sPecRMYMDCpMcbbDKvRgzAh+VjCjvSr11PvRqHx3lSYeKQcQdQZtgkk95lEz07YQ==

"@vue-storefront/theme-utilities@^0.2.0":
version "0.2.0"
resolved "https://registry.npmjs.org/@vue-storefront/theme-utilities/-/theme-utilities-0.2.0.tgz#c4dde4801c4413b51e354d9b0df7064d34c9572e"
Expand Down

0 comments on commit 9703ef9

Please sign in to comment.