@netgen/storyblok-siteaccess 0.1.4 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/Siteaccess.d.ts +2 -1
- package/dist/classes/Siteaccess.js.map +1 -1
- package/package.json +8 -8
- package/dist/classes/SiteaccessResolver.d.ts +0 -51
- package/dist/classes/SiteaccessResolver.js +0 -95
- package/dist/classes/SiteaccessResolver.js.map +0 -1
- package/dist/classes/index.js +0 -3
- package/dist/classes/index.js.map +0 -1
- package/dist/hooks/index.js +0 -2
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useSiteaccess.js +0 -11
- package/dist/hooks/useSiteaccess.js.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/resolvers/client.d.ts +0 -12
- package/dist/resolvers/client.js +0 -18
- package/dist/resolvers/client.js.map +0 -1
- package/dist/resolvers/index.d.ts +0 -3
- package/dist/resolvers/index.js +0 -4
- package/dist/resolvers/index.js.map +0 -1
- package/dist/resolvers/server.d.ts +0 -12
- package/dist/resolvers/server.js +0 -18
- package/dist/resolvers/server.js.map +0 -1
- package/dist/resolvers/universal.d.ts +0 -10
- package/dist/resolvers/universal.js +0 -11
- package/dist/resolvers/universal.js.map +0 -1
- package/dist/types/augmentation.d.ts +0 -12
- package/dist/types/augmentation.js +0 -2
- package/dist/types/augmentation.js.map +0 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/siteaccess.d.ts +0 -91
- package/dist/types/siteaccess.js +0 -2
- package/dist/types/siteaccess.js.map +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/routing.d.ts +0 -19
- package/dist/utils/routing.js +0 -45
- package/dist/utils/routing.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ISbStoryData } from "@storyblok/react";
|
|
1
2
|
import type { AlternateStory, EnvironmentConfig, SiteaccessConfig, SiteaccessInputType } from "../types/index.js";
|
|
2
3
|
import { GenericSiteaccessResolver } from "./SiteaccessResolver.js";
|
|
3
4
|
import type { Market, Language } from "../types/augmentation.js";
|
|
@@ -83,7 +84,7 @@ export declare class Siteaccess<TMarket extends Market = Market, TLanguage exten
|
|
|
83
84
|
/**
|
|
84
85
|
* Get language alternates for a story
|
|
85
86
|
*/
|
|
86
|
-
getLanguageAlternates(story:
|
|
87
|
+
getLanguageAlternates(story: ISbStoryData, siteaccessResolver: GenericSiteaccessResolver<TMarket, TLanguage>): AlternateStory<TMarket, TLanguage>[];
|
|
87
88
|
/**
|
|
88
89
|
* Static utility: Strip leading and trailing slashes
|
|
89
90
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Siteaccess.js","sourceRoot":"","sources":["../../src/classes/Siteaccess.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Siteaccess.js","sourceRoot":"","sources":["../../src/classes/Siteaccess.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netgen/storyblok-siteaccess",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Generic siteaccess management for multi-market, multi-language Storyblok websites",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -59,18 +59,18 @@
|
|
|
59
59
|
"cms"
|
|
60
60
|
],
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@netgen/storyblok-utils": "
|
|
62
|
+
"@netgen/storyblok-utils": "workspace:*",
|
|
63
63
|
"remeda": "^2.0.0"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@storyblok/react": "4.
|
|
67
|
-
"@types/react": ">=19.
|
|
68
|
-
"next": "15.2.
|
|
69
|
-
"react": ">=19.
|
|
70
|
-
"react-dom": ">=19.
|
|
66
|
+
"@storyblok/react": "5.4.20",
|
|
67
|
+
"@types/react": ">=19.2.3",
|
|
68
|
+
"next": ">=15.2.8",
|
|
69
|
+
"react": ">=19.2.3",
|
|
70
|
+
"react-dom": ">=19.2.3"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@storyblok/react": "4.
|
|
73
|
+
"@storyblok/react": "5.4.20",
|
|
74
74
|
"@types/node": "^20",
|
|
75
75
|
"@vitest/coverage-v8": "^3.2.4",
|
|
76
76
|
"@vitest/ui": "^3.2.4",
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { Market, Language } from "../types/augmentation.js";
|
|
2
|
-
import type { SiteaccessConfig, EnvironmentConfig } from "../types/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Generic SiteaccessResolver class
|
|
5
|
-
* Resolves siteaccess configurations based on various criteria
|
|
6
|
-
*/
|
|
7
|
-
export declare class GenericSiteaccessResolver<TMarket extends Market = Market, TLanguage extends Language = Language> {
|
|
8
|
-
defaultLocale: string;
|
|
9
|
-
readonly configs: SiteaccessConfig<TMarket, TLanguage>[];
|
|
10
|
-
private environmentConfig;
|
|
11
|
-
constructor(configs: SiteaccessConfig<TMarket, TLanguage>[], environmentConfig: EnvironmentConfig<TMarket, TLanguage>, defaultLocale: string);
|
|
12
|
-
/**
|
|
13
|
-
* Resolve siteaccess configuration by URL
|
|
14
|
-
*/
|
|
15
|
-
resolveByUrl({ urlString, }: {
|
|
16
|
-
urlString: string;
|
|
17
|
-
}): SiteaccessConfig<TMarket, TLanguage>;
|
|
18
|
-
/**
|
|
19
|
-
* Resolve siteaccess configuration by locale
|
|
20
|
-
*/
|
|
21
|
-
resolveByLocale({ locale, }: {
|
|
22
|
-
locale: string;
|
|
23
|
-
}): SiteaccessConfig<TMarket, TLanguage>;
|
|
24
|
-
/**
|
|
25
|
-
* Resolve siteaccess configuration by Storyblok path
|
|
26
|
-
*/
|
|
27
|
-
resolveByStoryblokPath({ storyblokPath, language, }: {
|
|
28
|
-
storyblokPath: string;
|
|
29
|
-
language?: TLanguage;
|
|
30
|
-
}): SiteaccessConfig<TMarket, TLanguage>;
|
|
31
|
-
/**
|
|
32
|
-
* Resolve siteaccess configuration by market and optional language
|
|
33
|
-
* Requires environmentConfig to be provided in constructor
|
|
34
|
-
*/
|
|
35
|
-
resolveByMarket({ market, language, }: {
|
|
36
|
-
market: TMarket;
|
|
37
|
-
language?: TLanguage;
|
|
38
|
-
}): SiteaccessConfig<TMarket, TLanguage>;
|
|
39
|
-
/**
|
|
40
|
-
* Find matching siteaccess configuration without fallback
|
|
41
|
-
*/
|
|
42
|
-
findMatchingSiteaccessConfig(match: (siteaccessConfig: SiteaccessConfig<TMarket, TLanguage>) => boolean): SiteaccessConfig<TMarket, TLanguage> | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Private method to resolve siteaccess configuration with fallback to first config
|
|
45
|
-
*/
|
|
46
|
-
private resolveSiteaccessConfig;
|
|
47
|
-
/**
|
|
48
|
-
* Utility method to strip leading and trailing slashes
|
|
49
|
-
*/
|
|
50
|
-
private stripSlashes;
|
|
51
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic SiteaccessResolver class
|
|
3
|
-
* Resolves siteaccess configurations based on various criteria
|
|
4
|
-
*/
|
|
5
|
-
export class GenericSiteaccessResolver {
|
|
6
|
-
defaultLocale;
|
|
7
|
-
configs;
|
|
8
|
-
environmentConfig;
|
|
9
|
-
constructor(configs, environmentConfig, defaultLocale) {
|
|
10
|
-
this.defaultLocale = defaultLocale;
|
|
11
|
-
// Sort configs by URI length (longest first) for proper matching
|
|
12
|
-
this.configs = configs.sort((a, b) => (b.uri?.length ?? 0) - (a.uri?.length ?? 0));
|
|
13
|
-
this.environmentConfig = environmentConfig;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Resolve siteaccess configuration by URL
|
|
17
|
-
*/
|
|
18
|
-
resolveByUrl({ urlString, }) {
|
|
19
|
-
const url = new URL(urlString);
|
|
20
|
-
return this.resolveSiteaccessConfig((siteaccessConfig) => {
|
|
21
|
-
const urisMatch = siteaccessConfig.uri
|
|
22
|
-
? url.pathname.startsWith(`/${siteaccessConfig.uri}`)
|
|
23
|
-
: true;
|
|
24
|
-
const hostsMatch = siteaccessConfig.host === url.host;
|
|
25
|
-
return urisMatch && hostsMatch;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Resolve siteaccess configuration by locale
|
|
30
|
-
*/
|
|
31
|
-
resolveByLocale({ locale, }) {
|
|
32
|
-
return this.resolveSiteaccessConfig((siteaccessConfig) => {
|
|
33
|
-
return siteaccessConfig.locale === locale;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Resolve siteaccess configuration by Storyblok path
|
|
38
|
-
*/
|
|
39
|
-
resolveByStoryblokPath({ storyblokPath, language, }) {
|
|
40
|
-
return this.resolveSiteaccessConfig((siteaccessConfig) => {
|
|
41
|
-
const normalizedStoryblokPath = this.stripSlashes(storyblokPath);
|
|
42
|
-
const languageMatch = language
|
|
43
|
-
? siteaccessConfig.language === language
|
|
44
|
-
: true;
|
|
45
|
-
const storyblokPrefixMatch = normalizedStoryblokPath.startsWith(siteaccessConfig.storyblokVisualEditorPrefix);
|
|
46
|
-
return languageMatch && storyblokPrefixMatch;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Resolve siteaccess configuration by market and optional language
|
|
51
|
-
* Requires environmentConfig to be provided in constructor
|
|
52
|
-
*/
|
|
53
|
-
resolveByMarket({ market, language, }) {
|
|
54
|
-
return this.resolveSiteaccessConfig((siteaccessConfig) => {
|
|
55
|
-
const marketConfig = this.environmentConfig.marketConfigs[market];
|
|
56
|
-
// If market doesn't exist, no match possible
|
|
57
|
-
if (!marketConfig) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
const marketDefaultLanguage = marketConfig.primaryLanguage;
|
|
61
|
-
const selectedLanguage = language || marketDefaultLanguage;
|
|
62
|
-
const languageMatch = siteaccessConfig.language === selectedLanguage;
|
|
63
|
-
const marketMatch = siteaccessConfig.market === market;
|
|
64
|
-
return languageMatch && marketMatch;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Find matching siteaccess configuration without fallback
|
|
69
|
-
*/
|
|
70
|
-
findMatchingSiteaccessConfig(match) {
|
|
71
|
-
return this.configs.find(match);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Private method to resolve siteaccess configuration with fallback to first config
|
|
75
|
-
*/
|
|
76
|
-
resolveSiteaccessConfig(match) {
|
|
77
|
-
const firstSiteaccessConfig = this.configs[0];
|
|
78
|
-
const defaultSiteaccessConfig = this.configs.find((config) => config.locale === this.defaultLocale);
|
|
79
|
-
if (!firstSiteaccessConfig) {
|
|
80
|
-
throw new Error("No siteaccess configured");
|
|
81
|
-
}
|
|
82
|
-
const currentSiteaccessConfig = this.findMatchingSiteaccessConfig(match);
|
|
83
|
-
const siteAccessConfig = currentSiteaccessConfig ||
|
|
84
|
-
defaultSiteaccessConfig ||
|
|
85
|
-
firstSiteaccessConfig;
|
|
86
|
-
return siteAccessConfig;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Utility method to strip leading and trailing slashes
|
|
90
|
-
*/
|
|
91
|
-
stripSlashes(path) {
|
|
92
|
-
return path?.replace(/^\/+|\/+$/g, "") || "";
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=SiteaccessResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SiteaccessResolver.js","sourceRoot":"","sources":["../../src/classes/SiteaccessResolver.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/hooks/index.js
DELETED
package/dist/hooks/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
|
-
import { Siteaccess } from "../classes/Siteaccess.js";
|
|
3
|
-
/**
|
|
4
|
-
* Generic React hook for creating a Siteaccess instance
|
|
5
|
-
* Projects should create their own wrapper hooks with specific types
|
|
6
|
-
*/
|
|
7
|
-
export function useSiteaccess(markets, languages, siteaccessConfig, environmentConfig, siteaccessResolver) {
|
|
8
|
-
const siteAccess = useMemo(() => new Siteaccess(markets, languages, siteaccessConfig, environmentConfig, siteaccessResolver), [siteaccessConfig, environmentConfig]);
|
|
9
|
-
return siteAccess;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=useSiteaccess.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSiteaccess.js","sourceRoot":"","sources":["../../src/hooks/useSiteaccess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAQtD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAI3B,OAAkB,EAClB,SAAsB,EACtB,gBAAsD,EACtD,iBAAwD,EACxD,kBAA0D;IAE1D,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CACH,IAAI,UAAU,CACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,CACnB,EACH,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACtC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// Main classes
|
|
2
|
-
export { Siteaccess, SiteaccessResolver } from "./classes/index.js";
|
|
3
|
-
// Utilities
|
|
4
|
-
export { generateNextIntlRouting, generateStoryblokRedirects } from "./utils/index.js";
|
|
5
|
-
// Resolvers
|
|
6
|
-
export { createClientSiteaccessResolver, createLocaleBasedClientResolver, createServerSiteaccessResolver, createLocaleBasedServerResolver, createUniversalSiteaccessResolver, } from "./resolvers/index.js";
|
|
7
|
-
// React hooks
|
|
8
|
-
export { useSiteaccess } from "./hooks/index.js";
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAepE,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEvF,YAAY;AACZ,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAE9B,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Language, Market } from "../types/augmentation.js";
|
|
2
|
-
import type { SiteaccessConfig } from "../types/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Client-side siteaccess configuration resolver
|
|
5
|
-
* This is a generic function that can be customized by the consuming project
|
|
6
|
-
*/
|
|
7
|
-
export declare function createClientSiteaccessResolver<TMarket extends Market = Market, TLanguage extends Language = Language>(resolverFunction: () => SiteaccessConfig<TMarket, TLanguage>): () => SiteaccessConfig<TMarket, TLanguage>;
|
|
8
|
-
/**
|
|
9
|
-
* Default client-side resolver using locale (requires next-intl or similar)
|
|
10
|
-
* Projects should implement their own resolver based on their setup
|
|
11
|
-
*/
|
|
12
|
-
export declare function createLocaleBasedClientResolver<TMarket extends Market = Market, TLanguage extends Language = Language>(getLocale: () => string, resolveByLocale: (locale: string) => SiteaccessConfig<TMarket, TLanguage>): () => SiteaccessConfig<TMarket, TLanguage>;
|
package/dist/resolvers/client.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client-side siteaccess configuration resolver
|
|
3
|
-
* This is a generic function that can be customized by the consuming project
|
|
4
|
-
*/
|
|
5
|
-
export function createClientSiteaccessResolver(resolverFunction) {
|
|
6
|
-
return resolverFunction;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Default client-side resolver using locale (requires next-intl or similar)
|
|
10
|
-
* Projects should implement their own resolver based on their setup
|
|
11
|
-
*/
|
|
12
|
-
export function createLocaleBasedClientResolver(getLocale, resolveByLocale) {
|
|
13
|
-
return () => {
|
|
14
|
-
const locale = getLocale();
|
|
15
|
-
return resolveByLocale(locale);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/resolvers/client.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAG5C,gBAA4D;IAC5D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAI7C,SAAuB,EACvB,eAEyC;IAEzC,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/resolvers/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { createClientSiteaccessResolver, createLocaleBasedClientResolver, } from "./client.js";
|
|
2
|
-
export { createServerSiteaccessResolver, createLocaleBasedServerResolver, } from "./server.js";
|
|
3
|
-
export { createUniversalSiteaccessResolver } from "./universal.js";
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Language, Market } from "../types/augmentation.js";
|
|
2
|
-
import type { SiteaccessConfig } from "../types/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Server-side siteaccess configuration resolver
|
|
5
|
-
* This is a generic function that can be customized by the consuming project
|
|
6
|
-
*/
|
|
7
|
-
export declare function createServerSiteaccessResolver<TMarket extends Market = Market, TLanguage extends Language = Language>(resolverFunction: () => Promise<SiteaccessConfig<TMarket, TLanguage>>): () => Promise<SiteaccessConfig<TMarket, TLanguage>>;
|
|
8
|
-
/**
|
|
9
|
-
* Default server-side resolver using locale (requires next-intl or similar)
|
|
10
|
-
* Projects should implement their own resolver based on their setup
|
|
11
|
-
*/
|
|
12
|
-
export declare function createLocaleBasedServerResolver<TMarket extends Market = Market, TLanguage extends Language = Language>(getLocale: () => Promise<string>, resolveByLocale: (locale: string) => SiteaccessConfig<TMarket, TLanguage>): () => Promise<SiteaccessConfig<TMarket, TLanguage>>;
|
package/dist/resolvers/server.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server-side siteaccess configuration resolver
|
|
3
|
-
* This is a generic function that can be customized by the consuming project
|
|
4
|
-
*/
|
|
5
|
-
export function createServerSiteaccessResolver(resolverFunction) {
|
|
6
|
-
return resolverFunction;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Default server-side resolver using locale (requires next-intl or similar)
|
|
10
|
-
* Projects should implement their own resolver based on their setup
|
|
11
|
-
*/
|
|
12
|
-
export function createLocaleBasedServerResolver(getLocale, resolveByLocale) {
|
|
13
|
-
return async () => {
|
|
14
|
-
const locale = await getLocale();
|
|
15
|
-
return resolveByLocale(locale);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/resolvers/server.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAI5C,gBAEC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAI7C,SAAgC,EAChC,eAEyC;IAEzC,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Language, Market } from "../types/augmentation.js";
|
|
2
|
-
import type { SiteaccessConfig } from "../types/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Universal siteaccess configuration resolver
|
|
5
|
-
* Can be used in both client and server environments
|
|
6
|
-
*/
|
|
7
|
-
export declare function createUniversalSiteaccessResolver<TMarket extends Market = Market, TLanguage extends Language = Language>(clientResolver: () => SiteaccessConfig<TMarket, TLanguage>, serverResolver: () => Promise<SiteaccessConfig<TMarket, TLanguage>>): {
|
|
8
|
-
client: () => SiteaccessConfig<TMarket, TLanguage>;
|
|
9
|
-
server: () => Promise<SiteaccessConfig<TMarket, TLanguage>>;
|
|
10
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Universal siteaccess configuration resolver
|
|
3
|
-
* Can be used in both client and server environments
|
|
4
|
-
*/
|
|
5
|
-
export function createUniversalSiteaccessResolver(clientResolver, serverResolver) {
|
|
6
|
-
return {
|
|
7
|
-
client: clientResolver,
|
|
8
|
-
server: serverResolver,
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=universal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/resolvers/universal.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAI/C,cAA0D,EAC1D,cAEC;IAED,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Module augmentation interface for siteaccess types
|
|
3
|
-
* This allows consuming projects to augment the Market and Language types
|
|
4
|
-
*/
|
|
5
|
-
export interface SiteaccessTypes {
|
|
6
|
-
}
|
|
7
|
-
export type Market = SiteaccessTypes extends {
|
|
8
|
-
Market: infer AppMarket;
|
|
9
|
-
} ? AppMarket : string;
|
|
10
|
-
export type Language = SiteaccessTypes extends {
|
|
11
|
-
Language: infer AppLanguage;
|
|
12
|
-
} ? AppLanguage : string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"augmentation.js","sourceRoot":"","sources":["../../src/types/augmentation.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export type { GenericSiteaccessConfig as SiteaccessConfig, EnvironmentConfig, GenericAlternateStory as AlternateStory, SiteaccessInputType, MarketConfig, NextRedirectConfig, NextDomainConfig, NextRoutingConfig, } from "./siteaccess.js";
|
|
2
|
-
export type { SiteaccessTypes } from "./augmentation.js";
|
package/dist/types/index.js
DELETED
package/dist/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type { Language, Market } from "./augmentation.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generic siteaccess configuration interface
|
|
4
|
-
* TMarket and TLanguage should be defined by the consuming project
|
|
5
|
-
*/
|
|
6
|
-
export interface GenericSiteaccessConfig<TMarket extends Market = Market, TLanguage extends Language = Language> {
|
|
7
|
-
host: string;
|
|
8
|
-
locale: string;
|
|
9
|
-
market: TMarket;
|
|
10
|
-
language: TLanguage;
|
|
11
|
-
storyblokFolderPrefix: string;
|
|
12
|
-
storyblokVisualEditorPrefix: string;
|
|
13
|
-
uri?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Next.js redirect configuration interface
|
|
17
|
-
*/
|
|
18
|
-
export interface NextRedirectConfig {
|
|
19
|
-
source: string;
|
|
20
|
-
destination: string;
|
|
21
|
-
permanent: boolean;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Next.js domain configuration for internationalization
|
|
25
|
-
*/
|
|
26
|
-
export interface NextDomainConfig {
|
|
27
|
-
domain: string;
|
|
28
|
-
defaultLocale: string;
|
|
29
|
-
locales: string[];
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Next.js routing configuration interface
|
|
33
|
-
*/
|
|
34
|
-
export interface NextRoutingConfig {
|
|
35
|
-
locales: string[];
|
|
36
|
-
defaultLocale: string;
|
|
37
|
-
domains: NextDomainConfig[];
|
|
38
|
-
alternateLinks: boolean;
|
|
39
|
-
localeCookie: boolean;
|
|
40
|
-
localePrefix: {
|
|
41
|
-
mode: "always" | "as-needed" | "never";
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Environment configuration interface
|
|
46
|
-
* Contains all siteaccess configurations and market-specific settings
|
|
47
|
-
*/
|
|
48
|
-
export interface EnvironmentConfig<TMarket extends Market = Market, TLanguage extends Language = Language, MarketConfig extends Object = Object> {
|
|
49
|
-
siteaccess: GenericSiteaccessConfig<TMarket, TLanguage>[];
|
|
50
|
-
marketConfigs: Record<TMarket, {
|
|
51
|
-
primaryLanguage: TLanguage;
|
|
52
|
-
} & MarketConfig>;
|
|
53
|
-
siteinfoStoryblokPaths: Record<TMarket, string>;
|
|
54
|
-
hosts: {
|
|
55
|
-
host: string;
|
|
56
|
-
defaultLocale: string;
|
|
57
|
-
}[];
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Alternate story interface for language/market alternatives
|
|
61
|
-
*/
|
|
62
|
-
export interface GenericAlternateStory<TMarket extends Market = Market, TLanguage extends Language = Language> {
|
|
63
|
-
language: TLanguage;
|
|
64
|
-
url: string;
|
|
65
|
-
isCurrent: boolean;
|
|
66
|
-
market: TMarket;
|
|
67
|
-
locale: string;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Input types for siteaccess methods
|
|
71
|
-
*/
|
|
72
|
-
export type SiteaccessInputType = {
|
|
73
|
-
pathname: string;
|
|
74
|
-
storyblokPath?: undefined;
|
|
75
|
-
url?: undefined;
|
|
76
|
-
} | {
|
|
77
|
-
storyblokPath: string;
|
|
78
|
-
pathname?: undefined;
|
|
79
|
-
url?: undefined;
|
|
80
|
-
} | {
|
|
81
|
-
url: string;
|
|
82
|
-
pathname?: undefined;
|
|
83
|
-
storyblokPath?: undefined;
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* Market configuration interface
|
|
87
|
-
*/
|
|
88
|
-
export interface MarketConfig<TLanguage extends Language = Language> {
|
|
89
|
-
primaryLanguage: TLanguage;
|
|
90
|
-
tosStoryblokPath: string;
|
|
91
|
-
}
|
package/dist/types/siteaccess.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"siteaccess.js","sourceRoot":"","sources":["../../src/types/siteaccess.ts"],"names":[],"mappings":""}
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { generateNextIntlRouting, generateStoryblokRedirects, } from "./routing.js";
|
package/dist/utils/index.js
DELETED
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
|
package/dist/utils/routing.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { EnvironmentConfig, NextRedirectConfig, NextRoutingConfig } from "../types/index.js";
|
|
2
|
-
import type { Market, Language } from "../types/augmentation.js";
|
|
3
|
-
/**
|
|
4
|
-
* Generate Next.js internationalization routing configuration from EnvironmentConfig
|
|
5
|
-
*/
|
|
6
|
-
export declare function generateNextIntlRouting<TMarket extends Market = Market, TLanguage extends Language = Language>(environmentConfig: EnvironmentConfig<TMarket, TLanguage>, options?: {
|
|
7
|
-
defaultLocale?: string;
|
|
8
|
-
alternateLinks?: boolean;
|
|
9
|
-
localeCookie?: boolean;
|
|
10
|
-
localePrefix?: {
|
|
11
|
-
mode: "always" | "as-needed" | "never";
|
|
12
|
-
};
|
|
13
|
-
}): NextRoutingConfig;
|
|
14
|
-
/**
|
|
15
|
-
* Generate Storyblok visual editor redirects from EnvironmentConfig
|
|
16
|
-
*/
|
|
17
|
-
export declare function generateStoryblokRedirects<TMarket extends Market = Market, TLanguage extends Language = Language>(environmentConfig: EnvironmentConfig<TMarket, TLanguage>, options?: {
|
|
18
|
-
permanent?: boolean;
|
|
19
|
-
}): NextRedirectConfig[];
|
package/dist/utils/routing.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { groupBy } from "remeda";
|
|
2
|
-
/**
|
|
3
|
-
* Generate Next.js internationalization routing configuration from EnvironmentConfig
|
|
4
|
-
*/
|
|
5
|
-
export function generateNextIntlRouting(environmentConfig, options = {}) {
|
|
6
|
-
const { defaultLocale = "en", alternateLinks = false, localeCookie = false, localePrefix = { mode: "always" }, } = options;
|
|
7
|
-
// Extract all locales from siteaccess configurations
|
|
8
|
-
const locales = environmentConfig.siteaccess.map((siteaccess) => siteaccess.locale);
|
|
9
|
-
// Group siteaccess configurations by host
|
|
10
|
-
const groupedLocales = groupBy(environmentConfig.siteaccess, (siteaccess) => siteaccess.host);
|
|
11
|
-
// Generate domain configurations
|
|
12
|
-
const domains = environmentConfig.hosts.map((host) => ({
|
|
13
|
-
domain: host.host,
|
|
14
|
-
defaultLocale: host.defaultLocale,
|
|
15
|
-
locales: groupedLocales[host.host]?.map((siteaccess) => siteaccess.locale) || [],
|
|
16
|
-
}));
|
|
17
|
-
return {
|
|
18
|
-
locales,
|
|
19
|
-
defaultLocale,
|
|
20
|
-
domains,
|
|
21
|
-
alternateLinks,
|
|
22
|
-
localeCookie,
|
|
23
|
-
localePrefix,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Generate Storyblok visual editor redirects from EnvironmentConfig
|
|
28
|
-
*/
|
|
29
|
-
export function generateStoryblokRedirects(environmentConfig, options = {}) {
|
|
30
|
-
const { permanent = false } = options;
|
|
31
|
-
return environmentConfig.siteaccess
|
|
32
|
-
.map((siteaccess) => ({
|
|
33
|
-
source: `/${siteaccess.storyblokVisualEditorPrefix}/:path*`,
|
|
34
|
-
destination: `${siteaccess.uri ? `/${siteaccess.uri}` : ""}/:path*`,
|
|
35
|
-
permanent,
|
|
36
|
-
has: [
|
|
37
|
-
{
|
|
38
|
-
type: "host",
|
|
39
|
-
value: siteaccess.host,
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
}))
|
|
43
|
-
.sort((a, b) => b.source.length - a.source.length); // Sort by source length (longest first)
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=routing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/utils/routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AASjC;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAIrC,iBAAwD,EACxD,UAOI,EAAE;IAEN,MAAM,EACJ,aAAa,GAAG,IAAI,EACpB,cAAc,GAAG,KAAK,EACtB,YAAY,GAAG,KAAK,EACpB,YAAY,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAClC,GAAG,OAAO,CAAC;IAEZ,qDAAqD;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAC9C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAClC,CAAC;IAEF,0CAA0C;IAC1C,MAAM,cAAc,GAAG,OAAO,CAC5B,iBAAiB,CAAC,UAAU,EAC5B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAChC,CAAC;IAEF,iCAAiC;IACjC,MAAM,OAAO,GAAuB,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,OAAO,EACL,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAC5B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAClC,IAAI,EAAE;KACV,CAAC,CACH,CAAC;IAEF,OAAO;QACL,OAAO;QACP,aAAa;QACb,OAAO;QACP,cAAc;QACd,YAAY;QACZ,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAIxC,iBAAwD,EACxD,UAEI,EAAE;IAEN,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEtC,OAAO,iBAAiB,CAAC,UAAU;SAChC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM,EAAE,IAAI,UAAU,CAAC,2BAA2B,SAAS;QAC3D,WAAW,EAAE,GACX,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAC1C,SAAS;QACT,SAAS;QACT,GAAG,EAAE;YACH;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU,CAAC,IAAI;aACvB;SACF;KACF,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,wCAAwC;AAChG,CAAC"}
|