@bleedingdev/modern-js-plugin-i18n 3.2.0-ultramodern.99 → 3.4.0-ultramodern.0
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/README.md +221 -11
- package/dist/cjs/cli/index.js +17 -64
- package/dist/cjs/cli/locales.js +132 -0
- package/dist/cjs/runtime/I18nLink.js +17 -20
- package/dist/cjs/runtime/Link.js +264 -0
- package/dist/cjs/runtime/canonicalRoutes.js +18 -0
- package/dist/cjs/runtime/context.js +9 -5
- package/dist/cjs/runtime/hooks.js +9 -5
- package/dist/cjs/runtime/i18n/backend/config.js +9 -5
- package/dist/cjs/runtime/i18n/backend/defaults.js +20 -11
- package/dist/cjs/runtime/i18n/backend/defaults.node.js +79 -10
- package/dist/cjs/runtime/i18n/backend/index.js +9 -5
- package/dist/cjs/runtime/i18n/backend/middleware.common.js +9 -5
- package/dist/cjs/runtime/i18n/backend/middleware.js +9 -5
- package/dist/cjs/runtime/i18n/backend/middleware.node.js +9 -5
- package/dist/cjs/runtime/i18n/backend/sdk-backend.js +9 -5
- package/dist/cjs/runtime/i18n/backend/sdk-event.js +16 -11
- package/dist/cjs/runtime/i18n/detection/config.js +9 -5
- package/dist/cjs/runtime/i18n/detection/index.js +9 -5
- package/dist/cjs/runtime/i18n/detection/middleware.js +9 -5
- package/dist/cjs/runtime/i18n/detection/middleware.node.js +9 -5
- package/dist/cjs/runtime/i18n/index.js +9 -5
- package/dist/cjs/runtime/i18n/instance.js +17 -13
- package/dist/cjs/runtime/i18n/react-i18next.js +12 -8
- package/dist/cjs/runtime/i18n/utils.js +9 -5
- package/dist/cjs/runtime/index.js +32 -5
- package/dist/cjs/runtime/localizedPaths.js +102 -0
- package/dist/cjs/runtime/routerAdapter.js +11 -7
- package/dist/cjs/runtime/utils.js +31 -17
- package/dist/cjs/server/index.js +10 -14
- package/dist/cjs/shared/deepMerge.js +12 -8
- package/dist/cjs/shared/detection.js +9 -5
- package/dist/cjs/shared/localisedUrls.js +148 -34
- package/dist/cjs/shared/utils.js +15 -11
- package/dist/esm/cli/index.mjs +8 -48
- package/dist/esm/cli/locales.mjs +80 -0
- package/dist/esm/runtime/I18nLink.mjs +7 -14
- package/dist/esm/runtime/Link.mjs +221 -0
- package/dist/esm/runtime/canonicalRoutes.mjs +0 -0
- package/dist/esm/runtime/i18n/backend/defaults.mjs +6 -2
- package/dist/esm/runtime/i18n/backend/defaults.node.mjs +56 -5
- package/dist/esm/runtime/index.mjs +4 -2
- package/dist/esm/runtime/localizedPaths.mjs +55 -0
- package/dist/esm/runtime/routerAdapter.mjs +3 -3
- package/dist/esm/runtime/utils.mjs +19 -12
- package/dist/esm/server/index.mjs +2 -10
- package/dist/esm/shared/localisedUrls.mjs +115 -23
- package/dist/esm-node/cli/index.mjs +8 -48
- package/dist/esm-node/cli/locales.mjs +81 -0
- package/dist/esm-node/runtime/I18nLink.mjs +7 -14
- package/dist/esm-node/runtime/Link.mjs +222 -0
- package/dist/esm-node/runtime/canonicalRoutes.mjs +1 -0
- package/dist/esm-node/runtime/i18n/backend/defaults.mjs +6 -2
- package/dist/esm-node/runtime/i18n/backend/defaults.node.mjs +56 -5
- package/dist/esm-node/runtime/index.mjs +4 -2
- package/dist/esm-node/runtime/localizedPaths.mjs +56 -0
- package/dist/esm-node/runtime/routerAdapter.mjs +3 -3
- package/dist/esm-node/runtime/utils.mjs +19 -12
- package/dist/esm-node/server/index.mjs +2 -10
- package/dist/esm-node/shared/localisedUrls.mjs +115 -23
- package/dist/types/cli/index.d.ts +1 -0
- package/dist/types/cli/locales.d.ts +17 -0
- package/dist/types/runtime/I18nLink.d.ts +4 -13
- package/dist/types/runtime/Link.d.ts +66 -0
- package/dist/types/runtime/canonicalRoutes.d.ts +60 -0
- package/dist/types/runtime/i18n/backend/defaults.d.ts +10 -7
- package/dist/types/runtime/i18n/backend/defaults.node.d.ts +13 -4
- package/dist/types/runtime/index.d.ts +5 -1
- package/dist/types/runtime/localizedPaths.d.ts +39 -0
- package/dist/types/runtime/types.d.ts +1 -1
- package/dist/types/runtime/utils.d.ts +13 -4
- package/dist/types/shared/localisedUrls.d.ts +23 -0
- package/dist/types/shared/type.d.ts +27 -5
- package/package.json +28 -25
- package/rstest.config.mts +7 -2
- package/src/cli/index.ts +25 -98
- package/src/cli/locales.ts +186 -0
- package/src/runtime/I18nLink.tsx +13 -44
- package/src/runtime/Link.tsx +430 -0
- package/src/runtime/canonicalRoutes.ts +93 -0
- package/src/runtime/i18n/backend/defaults.node.ts +112 -7
- package/src/runtime/i18n/backend/defaults.ts +20 -18
- package/src/runtime/index.tsx +24 -2
- package/src/runtime/localizedPaths.ts +107 -0
- package/src/runtime/routerAdapter.tsx +4 -5
- package/src/runtime/types.ts +1 -1
- package/src/runtime/utils.ts +33 -26
- package/src/server/index.ts +7 -17
- package/src/shared/localisedUrls.ts +256 -26
- package/src/shared/type.ts +27 -5
- package/tests/backendDefaults.test.ts +51 -0
- package/tests/i18nUtils.test.ts +10 -3
- package/tests/link.test.tsx +525 -0
- package/tests/linkTypes.test.ts +28 -0
- package/tests/localisedUrls.test.ts +224 -0
- package/tests/routerAdapter.test.tsx +86 -12
- package/tests/type-fixture/linkTypes.fixture.tsx +51 -0
- package/tests/type-fixture/tsconfig.json +15 -0
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -23,12 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
I18N_SDK_RESOURCES_LOADED_EVENT: ()=>I18N_SDK_RESOURCES_LOADED_EVENT,
|
|
28
|
-
createI18nSdkBackendId: ()=>createI18nSdkBackendId,
|
|
29
|
-
getI18nSdkBackendId: ()=>getI18nSdkBackendId,
|
|
30
|
-
setI18nSdkBackendId: ()=>setI18nSdkBackendId
|
|
31
|
-
});
|
|
32
30
|
const I18N_SDK_RESOURCES_LOADED_EVENT = 'i18n-sdk-resources-loaded';
|
|
33
31
|
const I18N_SDK_BACKEND_ID_KEY = '__modern_i18n_sdk_backend_id__';
|
|
34
32
|
let sdkBackendInstanceCount = 0;
|
|
@@ -49,6 +47,13 @@ function getI18nSdkBackendId(target) {
|
|
|
49
47
|
if (!target || 'object' != typeof target) return;
|
|
50
48
|
return target[I18N_SDK_BACKEND_ID_KEY];
|
|
51
49
|
}
|
|
50
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
51
|
+
createI18nSdkBackendId: ()=>createI18nSdkBackendId,
|
|
52
|
+
getI18nSdkBackendId: ()=>getI18nSdkBackendId,
|
|
53
|
+
setI18nSdkBackendId: ()=>setI18nSdkBackendId
|
|
54
|
+
}, {
|
|
55
|
+
I18N_SDK_RESOURCES_LOADED_EVENT: I18N_SDK_RESOURCES_LOADED_EVENT
|
|
56
|
+
});
|
|
52
57
|
exports.I18N_SDK_RESOURCES_LOADED_EVENT = __webpack_exports__.I18N_SDK_RESOURCES_LOADED_EVENT;
|
|
53
58
|
exports.createI18nSdkBackendId = __webpack_exports__.createI18nSdkBackendId;
|
|
54
59
|
exports.getI18nSdkBackendId = __webpack_exports__.getI18nSdkBackendId;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
|
|
|
10
10
|
};
|
|
11
11
|
})();
|
|
12
12
|
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
18
22
|
};
|
|
19
23
|
})();
|
|
20
24
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -23,14 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
getActualI18nextInstance: ()=>getActualI18nextInstance,
|
|
28
|
-
getI18nInstance: ()=>getI18nInstance,
|
|
29
|
-
getI18nWrapperI18nextInstance: ()=>getI18nWrapperI18nextInstance,
|
|
30
|
-
getI18nextInstanceForProvider: ()=>getI18nextInstanceForProvider,
|
|
31
|
-
isI18nInstance: ()=>isI18nInstance,
|
|
32
|
-
isI18nWrapperInstance: ()=>isI18nWrapperInstance
|
|
33
|
-
});
|
|
34
30
|
function isI18nWrapperInstance(obj) {
|
|
35
31
|
if (!obj || 'object' != typeof obj) return false;
|
|
36
32
|
if (!obj.i18nInstance || 'object' != typeof obj.i18nInstance) return false;
|
|
@@ -89,6 +85,14 @@ async function getI18nInstance(userInstance) {
|
|
|
89
85
|
if (i18nextInstance) return i18nextInstance;
|
|
90
86
|
throw new Error('No i18n instance found');
|
|
91
87
|
}
|
|
88
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
89
|
+
getActualI18nextInstance: ()=>getActualI18nextInstance,
|
|
90
|
+
getI18nInstance: ()=>getI18nInstance,
|
|
91
|
+
getI18nWrapperI18nextInstance: ()=>getI18nWrapperI18nextInstance,
|
|
92
|
+
getI18nextInstanceForProvider: ()=>getI18nextInstanceForProvider,
|
|
93
|
+
isI18nInstance: ()=>isI18nInstance,
|
|
94
|
+
isI18nWrapperInstance: ()=>isI18nWrapperInstance
|
|
95
|
+
});
|
|
92
96
|
exports.getActualI18nextInstance = __webpack_exports__.getActualI18nextInstance;
|
|
93
97
|
exports.getI18nInstance = __webpack_exports__.getI18nInstance;
|
|
94
98
|
exports.getI18nWrapperI18nextInstance = __webpack_exports__.getI18nWrapperI18nextInstance;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
getReactI18nextIntegration: ()=>getReactI18nextIntegration
|
|
28
|
-
});
|
|
29
30
|
async function tryImportReactI18next() {
|
|
30
31
|
try {
|
|
31
32
|
return await import("react-i18next");
|
|
@@ -40,6 +41,9 @@ async function getReactI18nextIntegration() {
|
|
|
40
41
|
initReactI18next: reactI18nextModule?.initReactI18next ?? null
|
|
41
42
|
};
|
|
42
43
|
}
|
|
44
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
45
|
+
getReactI18nextIntegration: ()=>getReactI18nextIntegration
|
|
46
|
+
});
|
|
43
47
|
exports.getReactI18nextIntegration = __webpack_exports__.getReactI18nextIntegration;
|
|
44
48
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
45
49
|
"getReactI18nextIntegration"
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -25,8 +29,15 @@ var __webpack_exports__ = {};
|
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
31
|
I18nLink: ()=>external_I18nLink_js_namespaceObject.I18nLink,
|
|
32
|
+
Link: ()=>external_Link_js_namespaceObject.Link,
|
|
33
|
+
buildLocalizedUrl: ()=>external_utils_js_namespaceObject.buildLocalizedUrl,
|
|
34
|
+
canonicalPath: ()=>external_localizedPaths_js_namespaceObject.canonicalPath,
|
|
28
35
|
default: ()=>runtime,
|
|
29
36
|
i18nPlugin: ()=>i18nPlugin,
|
|
37
|
+
localizePath: ()=>external_localizedPaths_js_namespaceObject.localizePath,
|
|
38
|
+
splitUrlTarget: ()=>external_utils_js_namespaceObject.splitUrlTarget,
|
|
39
|
+
useLocalizedLocation: ()=>external_localizedPaths_js_namespaceObject.useLocalizedLocation,
|
|
40
|
+
useLocalizedPaths: ()=>external_localizedPaths_js_namespaceObject.useLocalizedPaths,
|
|
30
41
|
useModernI18n: ()=>external_context_js_namespaceObject.useModernI18n
|
|
31
42
|
});
|
|
32
43
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
@@ -46,6 +57,8 @@ const utils_js_namespaceObject = require("./i18n/utils.js");
|
|
|
46
57
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
47
58
|
require("./types.js");
|
|
48
59
|
const external_I18nLink_js_namespaceObject = require("./I18nLink.js");
|
|
60
|
+
const external_Link_js_namespaceObject = require("./Link.js");
|
|
61
|
+
const external_localizedPaths_js_namespaceObject = require("./localizedPaths.js");
|
|
49
62
|
const i18nPlugin = (options)=>({
|
|
50
63
|
name: '@modern-js/plugin-i18n',
|
|
51
64
|
setup: (api)=>{
|
|
@@ -168,13 +181,27 @@ const i18nPlugin = (options)=>({
|
|
|
168
181
|
});
|
|
169
182
|
const runtime = i18nPlugin;
|
|
170
183
|
exports.I18nLink = __webpack_exports__.I18nLink;
|
|
184
|
+
exports.Link = __webpack_exports__.Link;
|
|
185
|
+
exports.buildLocalizedUrl = __webpack_exports__.buildLocalizedUrl;
|
|
186
|
+
exports.canonicalPath = __webpack_exports__.canonicalPath;
|
|
171
187
|
exports["default"] = __webpack_exports__["default"];
|
|
172
188
|
exports.i18nPlugin = __webpack_exports__.i18nPlugin;
|
|
189
|
+
exports.localizePath = __webpack_exports__.localizePath;
|
|
190
|
+
exports.splitUrlTarget = __webpack_exports__.splitUrlTarget;
|
|
191
|
+
exports.useLocalizedLocation = __webpack_exports__.useLocalizedLocation;
|
|
192
|
+
exports.useLocalizedPaths = __webpack_exports__.useLocalizedPaths;
|
|
173
193
|
exports.useModernI18n = __webpack_exports__.useModernI18n;
|
|
174
194
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
175
195
|
"I18nLink",
|
|
196
|
+
"Link",
|
|
197
|
+
"buildLocalizedUrl",
|
|
198
|
+
"canonicalPath",
|
|
176
199
|
"default",
|
|
177
200
|
"i18nPlugin",
|
|
201
|
+
"localizePath",
|
|
202
|
+
"splitUrlTarget",
|
|
203
|
+
"useLocalizedLocation",
|
|
204
|
+
"useLocalizedPaths",
|
|
178
205
|
"useModernI18n"
|
|
179
206
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
180
207
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
canonicalPath: ()=>canonicalPath,
|
|
32
|
+
localizePath: ()=>localizePath,
|
|
33
|
+
useLocalizedLocation: ()=>useLocalizedLocation,
|
|
34
|
+
useLocalizedPaths: ()=>useLocalizedPaths
|
|
35
|
+
});
|
|
36
|
+
const external_react_namespaceObject = require("react");
|
|
37
|
+
const localisedUrls_js_namespaceObject = require("../shared/localisedUrls.js");
|
|
38
|
+
const external_context_js_namespaceObject = require("./context.js");
|
|
39
|
+
const external_routerAdapter_js_namespaceObject = require("./routerAdapter.js");
|
|
40
|
+
const external_utils_js_namespaceObject = require("./utils.js");
|
|
41
|
+
const localizePath = (pathname, language, config)=>(0, external_utils_js_namespaceObject.buildLocalizedUrl)(pathname, language, config.languages, config.localisedUrls);
|
|
42
|
+
const canonicalPath = (target, config)=>{
|
|
43
|
+
const { pathname, search, hash } = (0, external_utils_js_namespaceObject.splitUrlTarget)(target);
|
|
44
|
+
const resolvedPath = (0, localisedUrls_js_namespaceObject.canonicalTargetPathname)(pathname, config.languages, config.localisedUrls);
|
|
45
|
+
return `${resolvedPath}${search}${hash}`;
|
|
46
|
+
};
|
|
47
|
+
const useLocalizedPaths = ()=>{
|
|
48
|
+
const { supportedLanguages, localisedUrls } = (0, external_context_js_namespaceObject.useModernI18n)();
|
|
49
|
+
return (0, external_react_namespaceObject.useMemo)(()=>{
|
|
50
|
+
const config = {
|
|
51
|
+
languages: supportedLanguages,
|
|
52
|
+
localisedUrls
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
localizePath: (pathname, language)=>localizePath(pathname, language, config),
|
|
56
|
+
canonicalPath: (pathname)=>canonicalPath(pathname, config)
|
|
57
|
+
};
|
|
58
|
+
}, [
|
|
59
|
+
supportedLanguages,
|
|
60
|
+
localisedUrls
|
|
61
|
+
]);
|
|
62
|
+
};
|
|
63
|
+
const useLocalizedLocation = ()=>{
|
|
64
|
+
const { language, supportedLanguages, localisedUrls } = (0, external_context_js_namespaceObject.useModernI18n)();
|
|
65
|
+
const { location } = (0, external_routerAdapter_js_namespaceObject.useI18nRouterAdapter)();
|
|
66
|
+
const pathname = location?.pathname ?? '/';
|
|
67
|
+
const search = location?.search ?? '';
|
|
68
|
+
const hash = location?.hash ?? '';
|
|
69
|
+
return (0, external_react_namespaceObject.useMemo)(()=>{
|
|
70
|
+
const config = {
|
|
71
|
+
languages: supportedLanguages,
|
|
72
|
+
localisedUrls
|
|
73
|
+
};
|
|
74
|
+
const alternates = {};
|
|
75
|
+
for (const supportedLanguage of supportedLanguages)alternates[supportedLanguage] = `${localizePath(pathname, supportedLanguage, config)}${search}${hash}`;
|
|
76
|
+
return {
|
|
77
|
+
language,
|
|
78
|
+
canonical: canonicalPath(pathname, config),
|
|
79
|
+
alternates
|
|
80
|
+
};
|
|
81
|
+
}, [
|
|
82
|
+
language,
|
|
83
|
+
supportedLanguages,
|
|
84
|
+
localisedUrls,
|
|
85
|
+
pathname,
|
|
86
|
+
search,
|
|
87
|
+
hash
|
|
88
|
+
]);
|
|
89
|
+
};
|
|
90
|
+
exports.canonicalPath = __webpack_exports__.canonicalPath;
|
|
91
|
+
exports.localizePath = __webpack_exports__.localizePath;
|
|
92
|
+
exports.useLocalizedLocation = __webpack_exports__.useLocalizedLocation;
|
|
93
|
+
exports.useLocalizedPaths = __webpack_exports__.useLocalizedPaths;
|
|
94
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
95
|
+
"canonicalPath",
|
|
96
|
+
"localizePath",
|
|
97
|
+
"useLocalizedLocation",
|
|
98
|
+
"useLocalizedPaths"
|
|
99
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
100
|
+
Object.defineProperty(exports, '__esModule', {
|
|
101
|
+
value: true
|
|
102
|
+
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -53,7 +57,7 @@ const getWindowLocation = ()=>{
|
|
|
53
57
|
};
|
|
54
58
|
};
|
|
55
59
|
const getRouterFramework = (runtimeContext, internalContext, inReactRouter)=>{
|
|
56
|
-
const framework =
|
|
60
|
+
const framework = (0, context_namespaceObject.getRouterRuntimeState)(internalContext)?.framework || (0, context_namespaceObject.getRouterRuntimeState)(runtimeContext)?.framework;
|
|
57
61
|
if (framework) return framework;
|
|
58
62
|
if (internalContext.router?.useRouter || runtimeContext.router?.useRouter) return 'tanstack';
|
|
59
63
|
if (internalContext.router?.useLocation || internalContext.router?.useHref || runtimeContext.router?.useLocation || runtimeContext.router?.useHref) return 'react-router';
|
|
@@ -61,7 +65,7 @@ const getRouterFramework = (runtimeContext, internalContext, inReactRouter)=>{
|
|
|
61
65
|
};
|
|
62
66
|
const getRouterInstance = (internalContext, contextRouter)=>{
|
|
63
67
|
if (contextRouter) return contextRouter;
|
|
64
|
-
const router =
|
|
68
|
+
const router = (0, context_namespaceObject.getRouterRuntimeState)(internalContext)?.instance;
|
|
65
69
|
if (!router || 'object' != typeof router) return null;
|
|
66
70
|
return router;
|
|
67
71
|
};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -29,7 +33,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29
33
|
getEntryPath: ()=>getEntryPath,
|
|
30
34
|
getLanguageFromPath: ()=>getLanguageFromPath,
|
|
31
35
|
getPathname: ()=>getPathname,
|
|
32
|
-
shouldIgnoreRedirect: ()=>shouldIgnoreRedirect
|
|
36
|
+
shouldIgnoreRedirect: ()=>shouldIgnoreRedirect,
|
|
37
|
+
splitUrlTarget: ()=>splitUrlTarget
|
|
33
38
|
});
|
|
34
39
|
const runtime_namespaceObject = require("@modern-js/runtime");
|
|
35
40
|
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
@@ -49,16 +54,23 @@ const getLanguageFromPath = (pathname, languages, fallbackLanguage)=>{
|
|
|
49
54
|
if (languages.includes(firstSegment)) return firstSegment;
|
|
50
55
|
return fallbackLanguage;
|
|
51
56
|
};
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
const splitUrlTarget = (target)=>{
|
|
58
|
+
const hashIndex = target.indexOf('#');
|
|
59
|
+
const hash = hashIndex >= 0 ? target.slice(hashIndex) : '';
|
|
60
|
+
const beforeHash = hashIndex >= 0 ? target.slice(0, hashIndex) : target;
|
|
61
|
+
const searchIndex = beforeHash.indexOf('?');
|
|
62
|
+
const search = searchIndex >= 0 ? beforeHash.slice(searchIndex) : '';
|
|
63
|
+
const pathname = searchIndex >= 0 ? beforeHash.slice(0, searchIndex) : beforeHash;
|
|
64
|
+
return {
|
|
65
|
+
pathname,
|
|
66
|
+
search,
|
|
67
|
+
hash
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
const buildLocalizedUrl = (target, language, languages, localisedUrls)=>{
|
|
71
|
+
const { pathname, search, hash } = splitUrlTarget(target);
|
|
72
|
+
const localizedPathname = (0, localisedUrls_js_namespaceObject.localiseTargetPathname)(pathname, language, languages, localisedUrls);
|
|
73
|
+
return `${localizedPathname}${search}${hash}`;
|
|
62
74
|
};
|
|
63
75
|
const detectLanguageFromPath = (pathname, languages, localePathRedirect)=>{
|
|
64
76
|
if (!localePathRedirect) return {
|
|
@@ -92,13 +104,15 @@ exports.getEntryPath = __webpack_exports__.getEntryPath;
|
|
|
92
104
|
exports.getLanguageFromPath = __webpack_exports__.getLanguageFromPath;
|
|
93
105
|
exports.getPathname = __webpack_exports__.getPathname;
|
|
94
106
|
exports.shouldIgnoreRedirect = __webpack_exports__.shouldIgnoreRedirect;
|
|
107
|
+
exports.splitUrlTarget = __webpack_exports__.splitUrlTarget;
|
|
95
108
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
96
109
|
"buildLocalizedUrl",
|
|
97
110
|
"detectLanguageFromPath",
|
|
98
111
|
"getEntryPath",
|
|
99
112
|
"getLanguageFromPath",
|
|
100
113
|
"getPathname",
|
|
101
|
-
"shouldIgnoreRedirect"
|
|
114
|
+
"shouldIgnoreRedirect",
|
|
115
|
+
"splitUrlTarget"
|
|
102
116
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
103
117
|
Object.defineProperty(exports, '__esModule', {
|
|
104
118
|
value: true
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -158,15 +162,7 @@ const buildLocalizedUrl = (req, urlPath, language, languages, localisedUrls)=>{
|
|
|
158
162
|
const pathname = url.pathname;
|
|
159
163
|
const basePath = urlPath.replace('/*', '');
|
|
160
164
|
const remainingPath = pathname.startsWith(basePath) ? pathname.slice(basePath.length) : pathname;
|
|
161
|
-
const
|
|
162
|
-
const localisedUrlsConfig = (0, localisedUrls_js_namespaceObject.resolveLocalisedUrlsConfig)(localisedUrls);
|
|
163
|
-
const pathWithoutLanguage = segments.length > 0 && languages.includes(segments[0]) ? `/${segments.slice(1).join('/')}` : remainingPath;
|
|
164
|
-
const resolvedPath = localisedUrlsConfig.enabled ? (0, localisedUrls_js_namespaceObject.resolveLocalisedPath)(pathWithoutLanguage, language, languages, localisedUrlsConfig.map) : pathWithoutLanguage;
|
|
165
|
-
const resolvedSegments = resolvedPath.split('/').filter(Boolean);
|
|
166
|
-
const newPathname = `/${[
|
|
167
|
-
language,
|
|
168
|
-
...resolvedSegments
|
|
169
|
-
].join('/')}`;
|
|
165
|
+
const newPathname = (0, localisedUrls_js_namespaceObject.localiseTargetPathname)(remainingPath, language, languages, localisedUrls);
|
|
170
166
|
const suffix = `${url.search}${url.hash}`;
|
|
171
167
|
const localizedUrl = '/' === basePath ? newPathname + suffix : basePath + newPathname + suffix;
|
|
172
168
|
return localizedUrl;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
deepMerge: ()=>deepMerge
|
|
28
|
-
});
|
|
29
30
|
function isPlainObject(value) {
|
|
30
31
|
return null !== value && 'object' == typeof value && !Array.isArray(value) && !(value instanceof Date);
|
|
31
32
|
}
|
|
@@ -45,6 +46,9 @@ function deepMerge(defaultOptions, userOptions) {
|
|
|
45
46
|
}
|
|
46
47
|
return merged;
|
|
47
48
|
}
|
|
49
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
50
|
+
deepMerge: ()=>deepMerge
|
|
51
|
+
});
|
|
48
52
|
exports.deepMerge = __webpack_exports__.deepMerge;
|
|
49
53
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
50
54
|
"deepMerge"
|