satset-react 0.0.2-beta.2 → 0.0.2-beta.3
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/core/i18n.d.ts +17 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18n.js +43 -0
- package/dist/core/i18n.js.map +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +32 -12
- package/dist/router/router.js.map +1 -1
- package/dist/server/build.js +132 -15
- package/dist/server/build.js.map +1 -1
- package/dist/server/dev.d.ts.map +1 -1
- package/dist/server/dev.js +114 -19
- package/dist/server/dev.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type Dictionaries = Record<string, Record<string, string>>;
|
|
3
|
+
interface I18nContextType {
|
|
4
|
+
locale: string;
|
|
5
|
+
setLocale: (locale: string) => void;
|
|
6
|
+
t: (key: string, params?: Record<string, string>) => string;
|
|
7
|
+
dictionaries: Dictionaries;
|
|
8
|
+
}
|
|
9
|
+
interface I18nProviderProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
initialLocale?: string;
|
|
12
|
+
dictionaries: Dictionaries;
|
|
13
|
+
}
|
|
14
|
+
export declare function I18nProvider({ children, initialLocale, dictionaries }: I18nProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function useTranslation(): I18nContextType;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAuB,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CAoClG;AAED,wBAAgB,cAAc,oBAM7B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.I18nProvider = I18nProvider;
|
|
4
|
+
exports.useTranslation = useTranslation;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const I18nContext = (0, react_1.createContext)(null);
|
|
8
|
+
function I18nProvider({ children, initialLocale = 'en-US', dictionaries }) {
|
|
9
|
+
const [locale, setLocale] = (0, react_1.useState)(initialLocale);
|
|
10
|
+
// Sync locale with URL path on client side if not provided or changed
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
if (typeof window !== 'undefined') {
|
|
13
|
+
const path = window.location.pathname;
|
|
14
|
+
const segments = path.split('/').filter(Boolean);
|
|
15
|
+
const first = segments[0];
|
|
16
|
+
// Check if first segment matches a locale pattern (xx or xx-XX)
|
|
17
|
+
if (first && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(first)) {
|
|
18
|
+
// Check if we have this locale in dictionaries (optional validation)
|
|
19
|
+
// For now, trust the URL or fallback
|
|
20
|
+
setLocale(first);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
const t = (key, params) => {
|
|
25
|
+
const dict = dictionaries[locale] || dictionaries['en-US'] || dictionaries[Object.keys(dictionaries)[0]] || {};
|
|
26
|
+
let text = dict[key] || key;
|
|
27
|
+
if (params) {
|
|
28
|
+
Object.entries(params).forEach(([k, v]) => {
|
|
29
|
+
text = text.replace(new RegExp(`{${k}}`, 'g'), v);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return text;
|
|
33
|
+
};
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)(I18nContext.Provider, { value: { locale, setLocale, t, dictionaries }, children: children }));
|
|
35
|
+
}
|
|
36
|
+
function useTranslation() {
|
|
37
|
+
const context = (0, react_1.useContext)(I18nContext);
|
|
38
|
+
if (!context) {
|
|
39
|
+
throw new Error('useTranslation must be used within an I18nProvider. The framework should wrap your app automatically.');
|
|
40
|
+
}
|
|
41
|
+
return context;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/core/i18n.tsx"],"names":[],"mappings":";;AAmBA,oCAoCC;AAED,wCAMC;;AA/DD,iCAAyF;AAWzF,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAyB,IAAI,CAAC,CAAC;AAQhE,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,EAAE,YAAY,EAAqB;IACjG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAEpD,sEAAsE;IACtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,gEAAgE;YAChE,IAAI,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,qEAAqE;gBACrE,qCAAqC;gBACrC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,MAA+B,EAAU,EAAE;QACjE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/G,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAE5B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,YAChE,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export { hydrate, hydrateProgressively, hydrateComponent } from './hydrate';
|
|
|
4
4
|
export type { HydrateOptions } from './hydrate';
|
|
5
5
|
export { notFound } from '../navigation/notFound';
|
|
6
6
|
export { SatsetResponse } from './response';
|
|
7
|
+
export { I18nProvider, useTranslation } from './i18n';
|
|
8
|
+
export type { Dictionaries } from './i18n';
|
|
7
9
|
export type { SatsetApp } from './types';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SatsetResponse = exports.notFound = exports.hydrateComponent = exports.hydrateProgressively = exports.hydrate = exports.escapeHtml = exports.renderToStream = exports.renderToStaticMarkup = exports.renderToString = void 0;
|
|
3
|
+
exports.useTranslation = exports.I18nProvider = exports.SatsetResponse = exports.notFound = exports.hydrateComponent = exports.hydrateProgressively = exports.hydrate = exports.escapeHtml = exports.renderToStream = exports.renderToStaticMarkup = exports.renderToString = void 0;
|
|
4
4
|
var ssr_1 = require("./ssr");
|
|
5
5
|
Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return ssr_1.renderToString; } });
|
|
6
6
|
Object.defineProperty(exports, "renderToStaticMarkup", { enumerable: true, get: function () { return ssr_1.renderToStaticMarkup; } });
|
|
@@ -14,4 +14,7 @@ var notFound_1 = require("../navigation/notFound");
|
|
|
14
14
|
Object.defineProperty(exports, "notFound", { enumerable: true, get: function () { return notFound_1.notFound; } });
|
|
15
15
|
var response_1 = require("./response");
|
|
16
16
|
Object.defineProperty(exports, "SatsetResponse", { enumerable: true, get: function () { return response_1.SatsetResponse; } });
|
|
17
|
+
var i18n_1 = require("./i18n");
|
|
18
|
+
Object.defineProperty(exports, "I18nProvider", { enumerable: true, get: function () { return i18n_1.I18nProvider; } });
|
|
19
|
+
Object.defineProperty(exports, "useTranslation", { enumerable: true, get: function () { return i18n_1.useTranslation; } });
|
|
17
20
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6BAAyF;AAAhF,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,iGAAA,UAAU,OAAA;AAGzE,qCAA4E;AAAnE,kGAAA,OAAO,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAGxD,mDAAkD;AAAzC,oGAAA,QAAQ,OAAA;AAEjB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6BAAyF;AAAhF,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,iGAAA,UAAU,OAAA;AAGzE,qCAA4E;AAAnE,kGAAA,OAAO,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAGxD,mDAAkD;AAAzC,oGAAA,QAAQ,OAAA;AAEjB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAEvB,+BAAsD;AAA7C,oGAAA,YAAY,OAAA;AAAE,sGAAA,cAAc,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAoED,wBAAgB,SAAS,IAAI,aAAa,CAyEzC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlD;AAED,wBAAgB,eAAe,IAAI,eAAe,CAGjD;AAED,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED,wBAAgB,WAAW,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAMhF"}
|
package/dist/router/router.js
CHANGED
|
@@ -12,6 +12,21 @@ exports.useNavigate = useNavigate;
|
|
|
12
12
|
const react_1 = __importDefault(require("react"));
|
|
13
13
|
const RouterContextObj = react_1.default.createContext(null);
|
|
14
14
|
// Router provider removed: hooks are self-contained now
|
|
15
|
+
function stripLocaleFromPath(path) {
|
|
16
|
+
if (!path)
|
|
17
|
+
return '/';
|
|
18
|
+
const raw = path.split('?')[0].split('#')[0];
|
|
19
|
+
const segments = raw.split('/').filter(Boolean);
|
|
20
|
+
if (segments.length === 0)
|
|
21
|
+
return '/';
|
|
22
|
+
const first = segments[0];
|
|
23
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
24
|
+
if (localePattern.test(first)) {
|
|
25
|
+
const rest = segments.slice(1);
|
|
26
|
+
return rest.length ? `/${rest.join('/')}` : '/';
|
|
27
|
+
}
|
|
28
|
+
return raw.startsWith('/') ? raw : `/${raw}`;
|
|
29
|
+
}
|
|
15
30
|
// Internal parse params helper reused by the hook
|
|
16
31
|
function parseParamsFromPath(path) {
|
|
17
32
|
const urlParams = new URLSearchParams(window.location.search);
|
|
@@ -56,14 +71,15 @@ function parseParamsFromPath(path) {
|
|
|
56
71
|
function useRouter() {
|
|
57
72
|
// SSR-safe initial values
|
|
58
73
|
const isClient = typeof window !== 'undefined';
|
|
59
|
-
const [pathname, setPathname] = react_1.default.useState(isClient ? window.location.pathname : '/');
|
|
60
|
-
const [params, setParams] = react_1.default.useState(() =>
|
|
74
|
+
const [pathname, setPathname] = react_1.default.useState(isClient ? stripLocaleFromPath(window.location.pathname) : '/');
|
|
75
|
+
const [params, setParams] = react_1.default.useState(() => isClient ? parseParamsFromPath(stripLocaleFromPath(window.location.pathname)) : {});
|
|
61
76
|
react_1.default.useEffect(() => {
|
|
62
77
|
if (!isClient)
|
|
63
78
|
return;
|
|
64
79
|
const handlePopState = () => {
|
|
65
|
-
|
|
66
|
-
|
|
80
|
+
const normalized = stripLocaleFromPath(window.location.pathname);
|
|
81
|
+
setPathname(normalized);
|
|
82
|
+
setParams(parseParamsFromPath(normalized));
|
|
67
83
|
};
|
|
68
84
|
handlePopState();
|
|
69
85
|
window.addEventListener('popstate', handlePopState);
|
|
@@ -72,18 +88,22 @@ function useRouter() {
|
|
|
72
88
|
const push = react_1.default.useCallback((path) => {
|
|
73
89
|
if (!isClient)
|
|
74
90
|
return;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
91
|
+
const target = path || '/';
|
|
92
|
+
const current = window.location.pathname + window.location.search + window.location.hash;
|
|
93
|
+
if (target === current) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
window.location.assign(target);
|
|
79
97
|
}, [isClient]);
|
|
80
98
|
const replace = react_1.default.useCallback((path) => {
|
|
81
99
|
if (!isClient)
|
|
82
100
|
return;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
101
|
+
const target = path || '/';
|
|
102
|
+
const current = window.location.pathname + window.location.search + window.location.hash;
|
|
103
|
+
if (target === current) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
window.location.replace(target);
|
|
87
107
|
}, [isClient]);
|
|
88
108
|
const back = react_1.default.useCallback(() => {
|
|
89
109
|
if (!isClient)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
|
package/dist/server/build.js
CHANGED
|
@@ -75,12 +75,39 @@ async function build(options) {
|
|
|
75
75
|
console.log(' node server.js');
|
|
76
76
|
return { outDir: distPath };
|
|
77
77
|
}
|
|
78
|
+
function getDictionaries(root) {
|
|
79
|
+
const langDir = path_1.default.join(root, 'src', 'lang');
|
|
80
|
+
const dictionaries = {};
|
|
81
|
+
if (fs_1.default.existsSync(langDir)) {
|
|
82
|
+
try {
|
|
83
|
+
const files = fs_1.default.readdirSync(langDir);
|
|
84
|
+
for (const file of files) {
|
|
85
|
+
if (file.endsWith('.json')) {
|
|
86
|
+
const locale = path_1.default.basename(file, '.json');
|
|
87
|
+
try {
|
|
88
|
+
const content = fs_1.default.readFileSync(path_1.default.join(langDir, file), 'utf-8');
|
|
89
|
+
dictionaries[locale] = JSON.parse(content);
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
console.warn(`[i18n] Failed to load dictionary for ${locale}:`, e);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
console.warn('[i18n] Failed to read lang directory:', e);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return dictionaries;
|
|
102
|
+
}
|
|
78
103
|
async function buildClientBundle(root, outdir, routes, minify) {
|
|
79
104
|
const clientDir = path_1.default.join(outdir, 'client');
|
|
80
105
|
fs_1.default.mkdirSync(clientDir, { recursive: true });
|
|
106
|
+
const dictionaries = getDictionaries(root);
|
|
81
107
|
const entryContent = `
|
|
82
108
|
import React from 'react';
|
|
83
109
|
import { hydrateRoot } from 'react-dom/client';
|
|
110
|
+
import { I18nProvider } from 'satset-react';
|
|
84
111
|
|
|
85
112
|
${routes.map((route, idx) => {
|
|
86
113
|
const relativePath = path_1.default.relative(root, route.component).replace(/\\/g, '/');
|
|
@@ -92,8 +119,23 @@ const routeDefs = [
|
|
|
92
119
|
${routes.map((route, idx) => ` { path: '${route.path}', component: Page${idx} },`).join('\n')}
|
|
93
120
|
];
|
|
94
121
|
|
|
122
|
+
function stripLocale(pathname) {
|
|
123
|
+
if (!pathname) return '/';
|
|
124
|
+
const raw = pathname.split('?')[0].split('#')[0];
|
|
125
|
+
const segments = raw.split('/').filter(Boolean);
|
|
126
|
+
if (!segments.length) return '/';
|
|
127
|
+
const first = segments[0];
|
|
128
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
129
|
+
if (localePattern.test(first)) {
|
|
130
|
+
const rest = segments.slice(1);
|
|
131
|
+
return rest.length ? '/' + rest.join('/') : '/';
|
|
132
|
+
}
|
|
133
|
+
return raw.startsWith('/') ? raw : '/' + raw;
|
|
134
|
+
}
|
|
135
|
+
|
|
95
136
|
function matchPath(pathname) {
|
|
96
|
-
const
|
|
137
|
+
const normalized = stripLocale(pathname);
|
|
138
|
+
const pathSegments = normalized.split('/').filter(Boolean);
|
|
97
139
|
for (const r of routeDefs) {
|
|
98
140
|
const routeSegments = r.path.split('/').filter(Boolean);
|
|
99
141
|
|
|
@@ -130,17 +172,28 @@ function matchPath(pathname) {
|
|
|
130
172
|
return { component: routeDefs.find(r => r.path === '/')?.component, params: {} };
|
|
131
173
|
}
|
|
132
174
|
|
|
133
|
-
const currentPath = window.location.pathname;
|
|
175
|
+
const currentPath = stripLocale(window.location.pathname);
|
|
134
176
|
const match = matchPath(currentPath);
|
|
135
177
|
window.__SATSET_ROUTES__ = routeDefs.map(r => r.path);
|
|
136
178
|
window.__SATSET_PARAMS__ = match.params || {};
|
|
179
|
+
window.__SATSET_DICTIONARIES__ = ${JSON.stringify(dictionaries)};
|
|
137
180
|
|
|
138
181
|
const PageComponent = match.component;
|
|
139
182
|
|
|
140
183
|
if (PageComponent) {
|
|
141
184
|
const root = document.getElementById('root');
|
|
142
185
|
if (root) {
|
|
143
|
-
|
|
186
|
+
const props = match.params ? { params: match.params } : undefined;
|
|
187
|
+
const pathSegments = window.location.pathname.split('/').filter(Boolean);
|
|
188
|
+
const firstSegment = pathSegments[0];
|
|
189
|
+
const initialLocale = (firstSegment && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(firstSegment)) ? firstSegment : 'en-US';
|
|
190
|
+
|
|
191
|
+
const App = React.createElement(I18nProvider, {
|
|
192
|
+
initialLocale,
|
|
193
|
+
dictionaries: window.__SATSET_DICTIONARIES__
|
|
194
|
+
}, React.createElement(PageComponent, props));
|
|
195
|
+
|
|
196
|
+
hydrateRoot(root, App);
|
|
144
197
|
}
|
|
145
198
|
}
|
|
146
199
|
`;
|
|
@@ -166,15 +219,19 @@ if (PageComponent) {
|
|
|
166
219
|
async function buildServerBundle(root, outdir, routes, minify) {
|
|
167
220
|
const serverDir = path_1.default.join(outdir, 'server');
|
|
168
221
|
fs_1.default.mkdirSync(serverDir, { recursive: true });
|
|
222
|
+
const dictionaries = getDictionaries(root);
|
|
169
223
|
const serverEntry = `
|
|
170
224
|
import React from 'react';
|
|
171
225
|
import { renderToString } from 'react-dom/server';
|
|
226
|
+
import { I18nProvider } from 'satset-react';
|
|
172
227
|
|
|
173
228
|
${routes.map((route, idx) => {
|
|
174
229
|
const relativePath = path_1.default.relative(root, route.component).replace(/\\/g, '/');
|
|
175
230
|
return `import * as Page${idx} from '../../${relativePath}';`;
|
|
176
231
|
}).join('\n')}
|
|
177
232
|
|
|
233
|
+
const dictionaries = ${JSON.stringify(dictionaries)};
|
|
234
|
+
|
|
178
235
|
const routeDefs = [
|
|
179
236
|
${routes.map((route, idx) => ` { path: '${route.path}', module: Page${idx} },`).join('\n')}
|
|
180
237
|
];
|
|
@@ -189,7 +246,8 @@ function getComponentFromModule(m) {
|
|
|
189
246
|
}
|
|
190
247
|
|
|
191
248
|
function matchPath(pathname) {
|
|
192
|
-
const
|
|
249
|
+
const normalized = stripLocale(pathname);
|
|
250
|
+
const pathSegments = normalized.split('/').filter(Boolean);
|
|
193
251
|
for (const r of routeDefs) {
|
|
194
252
|
const routeSegments = r.path.split('/').filter(Boolean);
|
|
195
253
|
|
|
@@ -198,7 +256,7 @@ function matchPath(pathname) {
|
|
|
198
256
|
const paramName = routeSegments[catchIndex].slice(1);
|
|
199
257
|
const params = {};
|
|
200
258
|
params[paramName] = pathSegments.slice(catchIndex).join('/');
|
|
201
|
-
return {
|
|
259
|
+
return { module: r.module, params };
|
|
202
260
|
}
|
|
203
261
|
|
|
204
262
|
if (routeSegments.length !== pathSegments.length) continue;
|
|
@@ -219,34 +277,73 @@ function matchPath(pathname) {
|
|
|
219
277
|
}
|
|
220
278
|
|
|
221
279
|
if (matched) {
|
|
222
|
-
return {
|
|
280
|
+
return { module: r.module, params };
|
|
223
281
|
}
|
|
224
282
|
}
|
|
225
283
|
|
|
226
284
|
return null;
|
|
227
285
|
}
|
|
228
286
|
|
|
287
|
+
function stripLocale(pathname) {
|
|
288
|
+
if (!pathname) return '/';
|
|
289
|
+
const raw = pathname.split('?')[0].split('#')[0];
|
|
290
|
+
const segments = raw.split('/').filter(Boolean);
|
|
291
|
+
if (!segments.length) return '/';
|
|
292
|
+
const first = segments[0];
|
|
293
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
294
|
+
if (localePattern.test(first)) {
|
|
295
|
+
const rest = segments.slice(1);
|
|
296
|
+
return rest.length ? '/' + rest.join('/') : '/';
|
|
297
|
+
}
|
|
298
|
+
return raw.startsWith('/') ? raw : '/' + raw;
|
|
299
|
+
}
|
|
300
|
+
|
|
229
301
|
export function renderPage(pathname) {
|
|
230
302
|
const match = matchPath(pathname);
|
|
231
303
|
if (!match || !match.module) return null;
|
|
232
304
|
const PageComponent = getComponentFromModule(match.module);
|
|
233
305
|
const params = match.params || {};
|
|
234
306
|
if (!PageComponent) return null;
|
|
235
|
-
|
|
307
|
+
|
|
308
|
+
const segments = pathname.split('/').filter(Boolean);
|
|
309
|
+
const first = segments[0];
|
|
310
|
+
const locale = (first && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(first)) ? first : 'en-US';
|
|
311
|
+
|
|
312
|
+
return renderToString(
|
|
313
|
+
React.createElement(I18nProvider, { initialLocale: locale, dictionaries },
|
|
314
|
+
React.createElement(PageComponent, { params })
|
|
315
|
+
)
|
|
316
|
+
);
|
|
236
317
|
}
|
|
237
318
|
|
|
238
319
|
export function getMetadataForPath(pathname) {
|
|
239
320
|
const match = matchPath(pathname);
|
|
240
321
|
if (!match || !match.module) return null;
|
|
241
322
|
const m = match.module;
|
|
323
|
+
|
|
324
|
+
const segments = pathname.split('/').filter(Boolean);
|
|
325
|
+
const first = segments[0];
|
|
326
|
+
const locale = (first && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(first)) ? first : 'en-US';
|
|
327
|
+
|
|
328
|
+
const t = (key, params) => {
|
|
329
|
+
const dict = dictionaries[locale] || dictionaries['en-US'] || {};
|
|
330
|
+
let text = dict[key] || key;
|
|
331
|
+
if (params) {
|
|
332
|
+
Object.entries(params).forEach(([k, v]) => {
|
|
333
|
+
text = text.replace(new RegExp('{' + k + '}', 'g'), v);
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return text;
|
|
337
|
+
};
|
|
338
|
+
|
|
242
339
|
if (m && m.metadata) return m.metadata;
|
|
243
340
|
if (m && typeof m.getMetadata === 'function') {
|
|
244
|
-
try { return m.getMetadata({ params: match.params || {} }); } catch (e) { return null; }
|
|
341
|
+
try { return m.getMetadata({ params: match.params || {}, locale, t }); } catch (e) { return null; }
|
|
245
342
|
}
|
|
246
343
|
return null;
|
|
247
344
|
}
|
|
248
345
|
|
|
249
|
-
export { routeDefs as routes };
|
|
346
|
+
export { routeDefs as routes, dictionaries };
|
|
250
347
|
`;
|
|
251
348
|
const tempDir = path_1.default.join(root, '.satset');
|
|
252
349
|
const serverEntryPath = path_1.default.join(tempDir, '_server.tsx');
|
|
@@ -270,11 +367,26 @@ ${Object.entries(env.privateVars || {}).map(([key, value]) => `process.env.${key
|
|
|
270
367
|
const PORT = process.env.PORT || 3000;
|
|
271
368
|
const HOST = process.env.HOST || '0.0.0.0';
|
|
272
369
|
|
|
273
|
-
const { renderPage, routes, getMetadataForPath } = require('./server/render.js');
|
|
370
|
+
const { renderPage, routes, getMetadataForPath, dictionaries } = require('./server/render.js');
|
|
371
|
+
|
|
372
|
+
function stripLocale(pathname) {
|
|
373
|
+
if (!pathname) return '/';
|
|
374
|
+
const raw = pathname.split('?')[0].split('#')[0];
|
|
375
|
+
const segments = raw.split('/').filter(Boolean);
|
|
376
|
+
if (!segments.length) return '/';
|
|
377
|
+
const first = segments[0];
|
|
378
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
379
|
+
if (localePattern.test(first)) {
|
|
380
|
+
const rest = segments.slice(1);
|
|
381
|
+
return rest.length ? '/' + rest.join('/') : '/';
|
|
382
|
+
}
|
|
383
|
+
return raw.startsWith('/') ? raw : '/' + raw;
|
|
384
|
+
}
|
|
274
385
|
|
|
275
|
-
const server = http.createServer((req, res) => {
|
|
386
|
+
const server = http.createServer(async (req, res) => {
|
|
276
387
|
const url = req.url || '/';
|
|
277
|
-
|
|
388
|
+
const pathOnly = url.split('?')[0].split('#')[0];
|
|
389
|
+
const normalizedPath = stripLocale(pathOnly);
|
|
278
390
|
console.log(\`\${req.method} \${url}\`);
|
|
279
391
|
|
|
280
392
|
if (url.startsWith('/client/')) {
|
|
@@ -287,7 +399,7 @@ const server = http.createServer((req, res) => {
|
|
|
287
399
|
return;
|
|
288
400
|
}
|
|
289
401
|
|
|
290
|
-
const apiRoute = ${JSON.stringify(apiRoutes)}.find(r => r.path ===
|
|
402
|
+
const apiRoute = ${JSON.stringify(apiRoutes)}.find(r => r.path === normalizedPath);
|
|
291
403
|
if (apiRoute) {
|
|
292
404
|
handleApiRoute(apiRoute, req, res);
|
|
293
405
|
return;
|
|
@@ -297,16 +409,20 @@ const server = http.createServer((req, res) => {
|
|
|
297
409
|
if (pageHTML) {
|
|
298
410
|
// Page found, assemble HTML and return
|
|
299
411
|
let metaHtml = '';
|
|
412
|
+
let htmlLang = 'en';
|
|
300
413
|
try {
|
|
301
|
-
const metaObj = getMetadataForPath(url);
|
|
414
|
+
const metaObj = await getMetadataForPath(url);
|
|
302
415
|
const metadataAsset = require('./assets/metadata');
|
|
416
|
+
if (metaObj && typeof metaObj.lang === 'string' && metaObj.lang.trim()) {
|
|
417
|
+
htmlLang = metaObj.lang.trim();
|
|
418
|
+
}
|
|
303
419
|
metaHtml = metadataAsset.renderMetaTags(metaObj);
|
|
304
420
|
} catch (e) {
|
|
305
421
|
metaHtml = '';
|
|
306
422
|
}
|
|
307
423
|
|
|
308
424
|
const html = '<!DOCTYPE html>' +
|
|
309
|
-
'<html lang="
|
|
425
|
+
'<html lang="' + htmlLang + '">' +
|
|
310
426
|
'<head>' +
|
|
311
427
|
metaHtml +
|
|
312
428
|
'<meta charset="UTF-8" />' +
|
|
@@ -316,6 +432,7 @@ const server = http.createServer((req, res) => {
|
|
|
316
432
|
'<body>' +
|
|
317
433
|
'<div id="root">' + pageHTML + '</div>' +
|
|
318
434
|
'<script>' + envScript + '</script>' +
|
|
435
|
+
'<script>window.__SATSET_DICTIONARIES__ = ' + JSON.stringify(dictionaries) + ';</script>' +
|
|
319
436
|
'<script type="module" src="/client/_entry.js"></script>' +
|
|
320
437
|
'</body>' +
|
|
321
438
|
'</html>';
|
package/dist/server/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/server/build.ts"],"names":[],"mappings":";;;;;AAQA,sBAqFC;AA7FD,4CAAoB;AACpB,gDAAwB;AACxB,uDAAkD;AAClD,uCAAoC;AAEpC,+BAAoD;AACpD,sCAAmD;AAE5C,KAAK,UAAU,KAAK,CAAC,OAAqB;IAC/C,MAAM,EACJ,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,IAAI,GACd,GAAG,OAAO,CAAC;IAEZ,sBAAsB;IACtB,MAAM,GAAG,GAAG,IAAA,aAAO,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,oBAAoB;IACpB,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,YAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,cAAc;IACd,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,cAAc,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;IAElF,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD,wBAAwB;IACxB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,mBAAmB,CAAC,UAAU,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,IAAA,+BAAsB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,uBAAuB;QACvB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjE,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;IAEF,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxG,YAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,YAAE,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAY,EACZ,MAAc,EACd,MAAa,EACb,MAAe;IAEf,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/server/build.ts"],"names":[],"mappings":"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"}
|
package/dist/server/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAWxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA6B5C,wBAAsB,cAAc,CAAC,MAAM,GAAE,YAAiB;;;;;;;GA6W7D"}
|
package/dist/server/dev.js
CHANGED
|
@@ -13,8 +13,34 @@ const env_1 = require("./env");
|
|
|
13
13
|
const error_overlay_1 = require("./error-overlay");
|
|
14
14
|
const bundler_1 = require("./bundler");
|
|
15
15
|
const response_1 = require("./response");
|
|
16
|
+
const i18n_1 = require("../core/i18n");
|
|
16
17
|
const util_1 = __importDefault(require("util"));
|
|
17
18
|
let buildCache = new Map();
|
|
19
|
+
function getDictionaries(root) {
|
|
20
|
+
const langDir = path_1.default.join(root, 'src', 'lang');
|
|
21
|
+
const dictionaries = {};
|
|
22
|
+
if (fs_1.default.existsSync(langDir)) {
|
|
23
|
+
try {
|
|
24
|
+
const files = fs_1.default.readdirSync(langDir);
|
|
25
|
+
for (const file of files) {
|
|
26
|
+
if (file.endsWith('.json')) {
|
|
27
|
+
const locale = path_1.default.basename(file, '.json');
|
|
28
|
+
try {
|
|
29
|
+
const content = fs_1.default.readFileSync(path_1.default.join(langDir, file), 'utf-8');
|
|
30
|
+
dictionaries[locale] = JSON.parse(content);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
console.warn(`[i18n] Failed to load dictionary for ${locale}:`, e);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.warn('[i18n] Failed to read lang directory:', e);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return dictionaries;
|
|
43
|
+
}
|
|
18
44
|
async function startDevServer(config = {}) {
|
|
19
45
|
const { port = 3000, host = 'localhost', root = process.cwd(), publicDir = 'public', favicon, } = config;
|
|
20
46
|
// Favicon link - set during startup
|
|
@@ -143,9 +169,13 @@ async function startDevServer(config = {}) {
|
|
|
143
169
|
// Initial build
|
|
144
170
|
console.log('📦 Building client bundle...');
|
|
145
171
|
await buildClientBundle(root, tempDir, routes);
|
|
172
|
+
// Load dictionaries
|
|
173
|
+
const dictionaries = getDictionaries(root);
|
|
146
174
|
// Create HTTP server
|
|
147
175
|
const server = http_1.default.createServer(async (req, res) => {
|
|
148
176
|
const url = req.url || '/';
|
|
177
|
+
const rawPath = url.split('?')[0].split('#')[0] || '/';
|
|
178
|
+
const effectivePath = stripLocaleFromPath(rawPath);
|
|
149
179
|
// Serve bundled JS files
|
|
150
180
|
if (url.startsWith('/_satset/')) {
|
|
151
181
|
const filePath = path_1.default.join(tempDir, url.replace('/_satset/', ''));
|
|
@@ -171,10 +201,9 @@ async function startDevServer(config = {}) {
|
|
|
171
201
|
// Serve direct public files at root URLs (e.g., /image.png -> public/image.png)
|
|
172
202
|
// This mirrors Vite's behavior where static files in `public/` are available at '/{file}'
|
|
173
203
|
try {
|
|
174
|
-
const
|
|
175
|
-
const parsed = path_1.default.parse(reqPath);
|
|
204
|
+
const parsed = path_1.default.parse(rawPath);
|
|
176
205
|
if (parsed.ext) {
|
|
177
|
-
const publicFilePath = path_1.default.join(root, publicDir,
|
|
206
|
+
const publicFilePath = path_1.default.join(root, publicDir, rawPath.replace(/^\/+/, ''));
|
|
178
207
|
if (fs_1.default.existsSync(publicFilePath)) {
|
|
179
208
|
const contentType = getContentType(parsed.ext.toLowerCase());
|
|
180
209
|
res.writeHead(200, { 'Content-Type': contentType });
|
|
@@ -314,17 +343,17 @@ async function startDevServer(config = {}) {
|
|
|
314
343
|
});
|
|
315
344
|
return;
|
|
316
345
|
}
|
|
317
|
-
const apiMatch = (0, file_system_1.matchRoute)(
|
|
346
|
+
const apiMatch = (0, file_system_1.matchRoute)(effectivePath, apiRoutes);
|
|
318
347
|
if (apiMatch) {
|
|
319
348
|
await handleApiRoute(apiMatch.route, req, res, root, tempDir, apiMatch.params);
|
|
320
349
|
return;
|
|
321
350
|
}
|
|
322
|
-
if (
|
|
351
|
+
if (effectivePath.startsWith('/api/')) {
|
|
323
352
|
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
324
353
|
res.end(JSON.stringify({ error: 'API route not found', path: url }));
|
|
325
354
|
return;
|
|
326
355
|
}
|
|
327
|
-
const matched = (0, file_system_1.matchRoute)(
|
|
356
|
+
const matched = (0, file_system_1.matchRoute)(effectivePath, routes);
|
|
328
357
|
if (matched) {
|
|
329
358
|
await handlePageRoute(matched.route, req, res, root, tempDir, matched.params, routes, publicDir);
|
|
330
359
|
return;
|
|
@@ -397,9 +426,11 @@ async function buildClientBundle(root, outdir, routes) {
|
|
|
397
426
|
}
|
|
398
427
|
const layoutPath = path_1.default.join(root, 'src', 'layout.tsx');
|
|
399
428
|
const layoutImport = fs_1.default.existsSync(layoutPath) ? `import Layout from '../../src/layout';\n` : '';
|
|
429
|
+
const dictionaries = getDictionaries(root);
|
|
400
430
|
const entryContent = `
|
|
401
431
|
import React from 'react';
|
|
402
432
|
import { hydrateRoot } from 'react-dom/client';
|
|
433
|
+
import { I18nProvider } from 'satset-react';
|
|
403
434
|
|
|
404
435
|
// Import all page components
|
|
405
436
|
${importLines.join('\n')}
|
|
@@ -409,8 +440,23 @@ const routeDefs = [
|
|
|
409
440
|
${routeDefLines.join('\n')}
|
|
410
441
|
];
|
|
411
442
|
|
|
443
|
+
function stripLocale(pathname) {
|
|
444
|
+
if (!pathname) return '/';
|
|
445
|
+
const raw = pathname.split('?')[0].split('#')[0];
|
|
446
|
+
const segments = raw.split('/').filter(Boolean);
|
|
447
|
+
if (!segments.length) return '/';
|
|
448
|
+
const first = segments[0];
|
|
449
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
450
|
+
if (localePattern.test(first)) {
|
|
451
|
+
const rest = segments.slice(1);
|
|
452
|
+
return rest.length ? '/' + rest.join('/') : '/';
|
|
453
|
+
}
|
|
454
|
+
return raw.startsWith('/') ? raw : '/' + raw;
|
|
455
|
+
}
|
|
456
|
+
|
|
412
457
|
function matchPath(pathname) {
|
|
413
|
-
const
|
|
458
|
+
const normalized = stripLocale(pathname);
|
|
459
|
+
const pathSegments = normalized.split('/').filter(Boolean);
|
|
414
460
|
for (const r of routeDefs) {
|
|
415
461
|
const routeSegments = r.path.split('/').filter(Boolean);
|
|
416
462
|
|
|
@@ -450,11 +496,12 @@ function matchPath(pathname) {
|
|
|
450
496
|
}
|
|
451
497
|
|
|
452
498
|
// Hydrate based on current path
|
|
453
|
-
const currentPath = window.location.pathname;
|
|
499
|
+
const currentPath = stripLocale(window.location.pathname);
|
|
454
500
|
const match = matchPath(currentPath);
|
|
455
501
|
// expose routes and params to Router
|
|
456
502
|
window.__SATSET_ROUTES__ = routeDefs.map(r => r.path);
|
|
457
503
|
window.__SATSET_PARAMS__ = match.params || {};
|
|
504
|
+
window.__SATSET_DICTIONARIES__ = ${JSON.stringify(dictionaries)};
|
|
458
505
|
|
|
459
506
|
const PageComponent = match.component;
|
|
460
507
|
|
|
@@ -462,11 +509,20 @@ if (PageComponent) {
|
|
|
462
509
|
const root = document.getElementById('root');
|
|
463
510
|
if (root) {
|
|
464
511
|
const props = match.params ? { params: match.params } : undefined;
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
512
|
+
|
|
513
|
+
const pathSegments = window.location.pathname.split('/').filter(Boolean);
|
|
514
|
+
const firstSegment = pathSegments[0];
|
|
515
|
+
const initialLocale = (firstSegment && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(firstSegment)) ? firstSegment : 'en-US';
|
|
516
|
+
|
|
517
|
+
const App = React.createElement(I18nProvider, {
|
|
518
|
+
initialLocale,
|
|
519
|
+
dictionaries: window.__SATSET_DICTIONARIES__
|
|
520
|
+
}, typeof Layout !== 'undefined'
|
|
521
|
+
? React.createElement(Layout, null, React.createElement(PageComponent, props))
|
|
522
|
+
: React.createElement(PageComponent, props)
|
|
523
|
+
);
|
|
524
|
+
|
|
525
|
+
hydrateRoot(root, App);
|
|
470
526
|
}
|
|
471
527
|
}
|
|
472
528
|
`;
|
|
@@ -813,6 +869,11 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
813
869
|
return renderToString(React.createElement(Comp, props));
|
|
814
870
|
}
|
|
815
871
|
let statusCode = 200;
|
|
872
|
+
// Determine locale for SSR
|
|
873
|
+
const urlSegments = req.url?.split('/').filter(Boolean) || [];
|
|
874
|
+
const firstSegment = urlSegments[0];
|
|
875
|
+
const locale = (firstSegment && /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/.test(firstSegment)) ? firstSegment : 'en-US';
|
|
876
|
+
const dictionaries = getDictionaries(root);
|
|
816
877
|
try {
|
|
817
878
|
// Ensure we actually have a function/component to render
|
|
818
879
|
if (!PageComponent || typeof PageComponent !== 'function') {
|
|
@@ -867,14 +928,14 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
867
928
|
// Render page (possibly async)
|
|
868
929
|
if (LayoutComponent) {
|
|
869
930
|
// render page as child and pass to layout
|
|
870
|
-
const PageFragmentHtml = await renderComponentToHtml(PageComponent, { params: initialParams });
|
|
871
931
|
// We need to render the Layout with the page element as `children` prop.
|
|
872
932
|
// Create a small wrapper component that returns the layout with children
|
|
873
|
-
const Wrapper = (props) => React.createElement(LayoutComponent, null, React.createElement(PageComponent, { params: initialParams }));
|
|
933
|
+
const Wrapper = (props) => React.createElement(i18n_1.I18nProvider, { initialLocale: locale, dictionaries }, React.createElement(LayoutComponent, null, React.createElement(PageComponent, { params: initialParams })));
|
|
874
934
|
pageHTML = await renderComponentToHtml(Wrapper);
|
|
875
935
|
}
|
|
876
936
|
else {
|
|
877
|
-
|
|
937
|
+
const Wrapper = (props) => React.createElement(i18n_1.I18nProvider, { initialLocale: locale, dictionaries }, React.createElement(PageComponent, { params: initialParams }));
|
|
938
|
+
pageHTML = await renderComponentToHtml(Wrapper);
|
|
878
939
|
}
|
|
879
940
|
}
|
|
880
941
|
catch (err) {
|
|
@@ -966,6 +1027,7 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
966
1027
|
}
|
|
967
1028
|
// attempt to obtain metadata from the page module (static or via getMetadata)
|
|
968
1029
|
let metaHtml = '';
|
|
1030
|
+
let htmlLang = 'en';
|
|
969
1031
|
try {
|
|
970
1032
|
const { renderMetaTags } = await import('../assets/metadata.js');
|
|
971
1033
|
// metadata may be exported as `metadata` or `getMetadata` function
|
|
@@ -975,19 +1037,37 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
975
1037
|
}
|
|
976
1038
|
else if (PageModule && typeof PageModule.getMetadata === 'function') {
|
|
977
1039
|
try {
|
|
978
|
-
|
|
1040
|
+
const t = (key, params) => {
|
|
1041
|
+
const dict = dictionaries[locale] || dictionaries['en-US'] || dictionaries[Object.keys(dictionaries)[0]] || {};
|
|
1042
|
+
let text = dict[key] || key;
|
|
1043
|
+
if (params) {
|
|
1044
|
+
Object.entries(params).forEach(([k, v]) => {
|
|
1045
|
+
text = text.replace(new RegExp(`{${k}}`, 'g'), v);
|
|
1046
|
+
});
|
|
1047
|
+
}
|
|
1048
|
+
return text;
|
|
1049
|
+
};
|
|
1050
|
+
metaObj = await PageModule.getMetadata({ params: initialParams, locale, t });
|
|
979
1051
|
}
|
|
980
1052
|
catch (e) {
|
|
981
1053
|
metaObj = null;
|
|
982
1054
|
}
|
|
983
1055
|
}
|
|
984
1056
|
// The `<Head>` component was removed; rely on exported `metadata` or `getMetadata` from the page/layout module.
|
|
1057
|
+
// Detect html lang from metadata if provided
|
|
1058
|
+
if (metaObj && typeof metaObj.lang === 'string' && metaObj.lang.trim()) {
|
|
1059
|
+
htmlLang = metaObj.lang.trim();
|
|
1060
|
+
}
|
|
985
1061
|
metaHtml = renderMetaTags(metaObj);
|
|
986
1062
|
}
|
|
987
1063
|
catch (e) {
|
|
988
1064
|
// ignore
|
|
989
1065
|
}
|
|
990
|
-
const initialParamsScript = `<script>
|
|
1066
|
+
const initialParamsScript = `<script>
|
|
1067
|
+
window.__SATSET_ROUTES__ = ${JSON.stringify(routePaths)};
|
|
1068
|
+
window.__SATSET_PARAMS__ = ${JSON.stringify(initialParams)};
|
|
1069
|
+
window.__SATSET_DICTIONARIES__ = ${JSON.stringify(getDictionaries(root))};
|
|
1070
|
+
</script>`;
|
|
991
1071
|
// Determine favicon at request time (in case it was created/changed)
|
|
992
1072
|
let computedFavicon = null;
|
|
993
1073
|
try {
|
|
@@ -1003,7 +1083,7 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
1003
1083
|
const faviconLink = computedFavicon ? `<link rel="icon" href="${computedFavicon}" />` : '';
|
|
1004
1084
|
const html = `
|
|
1005
1085
|
<!DOCTYPE html>
|
|
1006
|
-
<html lang="
|
|
1086
|
+
<html lang="${htmlLang}">
|
|
1007
1087
|
<head>
|
|
1008
1088
|
<meta charset="UTF-8" />
|
|
1009
1089
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
@@ -1045,6 +1125,21 @@ async function handlePageRoute(route, req, res, root, tempDir, initialParams = {
|
|
|
1045
1125
|
res.end(overlayHTML);
|
|
1046
1126
|
}
|
|
1047
1127
|
}
|
|
1128
|
+
function stripLocaleFromPath(pathname) {
|
|
1129
|
+
if (!pathname)
|
|
1130
|
+
return '/';
|
|
1131
|
+
const raw = pathname.split('?')[0].split('#')[0];
|
|
1132
|
+
const segments = raw.split('/').filter(Boolean);
|
|
1133
|
+
if (segments.length === 0)
|
|
1134
|
+
return '/';
|
|
1135
|
+
const first = segments[0];
|
|
1136
|
+
const localePattern = /^[a-zA-Z]{2}(?:-[a-zA-Z]{2})?$/;
|
|
1137
|
+
if (localePattern.test(first)) {
|
|
1138
|
+
const rest = segments.slice(1);
|
|
1139
|
+
return rest.length ? `/${rest.join('/')}` : '/';
|
|
1140
|
+
}
|
|
1141
|
+
return raw.startsWith('/') ? raw : `/${raw}`;
|
|
1142
|
+
}
|
|
1048
1143
|
function getContentType(ext) {
|
|
1049
1144
|
const types = {
|
|
1050
1145
|
'.html': 'text/html',
|
package/dist/server/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"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"}
|