next-intlayer 1.0.0 → 1.0.1
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/cjs/client/index.cjs +16 -22
- package/dist/cjs/client/index.d.ts +3 -10
- package/dist/cjs/client/useLocale.cjs +13 -20
- package/dist/cjs/client/useLocale.cjs.map +1 -1
- package/dist/cjs/client/useLocale.d.ts +7 -7
- package/dist/cjs/generateStaticParams.cjs +8 -13
- package/dist/cjs/generateStaticParams.d.ts +2 -2
- package/dist/cjs/index.cjs +18 -24
- package/dist/cjs/index.d.ts +8 -15
- package/dist/cjs/middleware/index.cjs +9 -21
- package/dist/cjs/middleware/index.d.ts +2 -2
- package/dist/cjs/middleware/intlayerMiddleware.cjs +28 -86
- package/dist/cjs/middleware/intlayerMiddleware.d.ts +1 -1
- package/dist/cjs/middleware/localeDetector.cjs +20 -37
- package/dist/cjs/middleware/localeDetector.d.ts +2 -2
- package/dist/cjs/server/index.cjs +15 -20
- package/dist/cjs/server/index.d.ts +3 -10
- package/dist/cjs/server/withIntlayer.cjs +36 -48
- package/dist/cjs/server/withIntlayer.d.ts +3 -5
- package/dist/cjs/types/NextPage.cjs +4 -8
- package/dist/cjs/types/NextPage.d.ts +6 -6
- package/dist/cjs/types/index.cjs +4 -8
- package/dist/cjs/types/index.d.ts +4 -4
- package/dist/esm/client/index.d.mts +3 -10
- package/dist/esm/client/index.mjs +4 -4
- package/dist/esm/client/useLocale.d.mts +7 -7
- package/dist/esm/client/useLocale.mjs +12 -10
- package/dist/esm/client/useLocale.mjs.map +1 -1
- package/dist/esm/generateStaticParams.d.mts +2 -2
- package/dist/esm/generateStaticParams.mjs +4 -2
- package/dist/esm/index.d.mts +8 -15
- package/dist/esm/index.mjs +5 -5
- package/dist/esm/middleware/index.d.mts +2 -2
- package/dist/esm/middleware/index.mjs +2 -2
- package/dist/esm/middleware/intlayerMiddleware.d.mts +1 -1
- package/dist/esm/middleware/intlayerMiddleware.mjs +21 -66
- package/dist/esm/middleware/localeDetector.d.mts +2 -2
- package/dist/esm/middleware/localeDetector.mjs +5 -3
- package/dist/esm/server/index.d.mts +3 -10
- package/dist/esm/server/index.mjs +4 -4
- package/dist/esm/server/withIntlayer.d.mts +3 -5
- package/dist/esm/server/withIntlayer.mjs +32 -32
- package/dist/esm/types/NextPage.d.mts +6 -6
- package/dist/esm/types/NextPage.mjs +1 -1
- package/dist/esm/types/index.d.mts +4 -4
- package/dist/esm/types/index.mjs +1 -1
- package/package.json +9 -9
- package/src/client/useLocale.ts +6 -4
|
@@ -4,7 +4,7 @@ import Negotiator from "negotiator";
|
|
|
4
4
|
const { locales, defaultLocale } = getConfiguration().internationalization;
|
|
5
5
|
const localeDetector = (request) => {
|
|
6
6
|
const negotiatorHeaders = {};
|
|
7
|
-
request.headers.forEach((value, key) =>
|
|
7
|
+
request.headers.forEach((value, key) => negotiatorHeaders[key] = value);
|
|
8
8
|
const languages = new Negotiator({ headers: negotiatorHeaders }).languages();
|
|
9
9
|
try {
|
|
10
10
|
return match(languages, locales, defaultLocale);
|
|
@@ -16,5 +16,7 @@ const localeDetector = (request) => {
|
|
|
16
16
|
return defaultLocale;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
export {
|
|
20
|
-
|
|
19
|
+
export {
|
|
20
|
+
localeDetector
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=localeDetector.mjs.map
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
getLocaleContent,
|
|
5
|
-
locale,
|
|
6
|
-
useIntlayer,
|
|
7
|
-
useTraduction,
|
|
8
|
-
} from "react-intlayer/server";
|
|
9
|
-
export { withIntlayer } from "./withIntlayer.mjs";
|
|
10
|
-
import "next";
|
|
1
|
+
export { LocaleServerContext, LocaleServerContextProvider, getLocaleContent, locale, useIntlayer, useTraduction } from 'react-intlayer/server';
|
|
2
|
+
export { withIntlayer } from './withIntlayer.mjs';
|
|
3
|
+
import 'next';
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
LocaleServerContext,
|
|
5
5
|
LocaleServerContextProvider,
|
|
6
6
|
locale,
|
|
7
|
-
useIntlayer
|
|
7
|
+
useIntlayer
|
|
8
8
|
} from "react-intlayer/server";
|
|
9
|
-
import { withIntlayer } from
|
|
9
|
+
import { withIntlayer } from './withIntlayer.mjs';
|
|
10
10
|
export {
|
|
11
11
|
LocaleServerContext,
|
|
12
12
|
LocaleServerContextProvider,
|
|
@@ -14,6 +14,6 @@ export {
|
|
|
14
14
|
locale,
|
|
15
15
|
useIntlayer,
|
|
16
16
|
useTraduction,
|
|
17
|
-
withIntlayer
|
|
17
|
+
withIntlayer
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=index.mjs.map
|
|
19
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { NextConfig } from
|
|
1
|
+
import 'react-intlayer/server';
|
|
2
|
+
import { NextConfig } from 'next';
|
|
3
3
|
|
|
4
4
|
type PluginOptions = {};
|
|
5
|
-
declare const withIntlayer: (
|
|
6
|
-
_pluginOptions?: PluginOptions
|
|
7
|
-
) => (nextConfig?: Partial<NextConfig>) => Partial<NextConfig>;
|
|
5
|
+
declare const withIntlayer: (_pluginOptions?: PluginOptions) => (nextConfig?: Partial<NextConfig>) => Partial<NextConfig>;
|
|
8
6
|
|
|
9
7
|
export { withIntlayer };
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { resolve, relative, join } from "path";
|
|
2
2
|
import { getConfiguration, formatEnvVariable } from "@intlayer/config";
|
|
3
3
|
const intlayerConfig = getConfiguration({
|
|
4
|
-
verbose: true
|
|
4
|
+
verbose: true
|
|
5
5
|
});
|
|
6
6
|
const env = formatEnvVariable("NEXT_PUBLIC_INTLAYER_");
|
|
7
7
|
const { mainDir, baseDir } = intlayerConfig.content;
|
|
8
8
|
const mergeEnvVariable = (nextEnv = {}) => Object.assign({}, nextEnv, env);
|
|
9
|
-
const mergeStats = (nextStats = {}) =>
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const mergeStats = (nextStats = {}) => Object.assign({}, nextStats, {
|
|
10
|
+
warnings: false
|
|
11
|
+
});
|
|
12
|
+
const withIntlayer = (_pluginOptions = {}) => (nextConfig = {}) => {
|
|
13
|
+
if (typeof nextConfig !== "object")
|
|
14
|
+
nextConfig = {};
|
|
15
|
+
return Object.assign({}, nextConfig, {
|
|
16
|
+
env: mergeEnvVariable(nextConfig.env),
|
|
17
|
+
stats: mergeStats(nextConfig.stats),
|
|
18
|
+
webpack: (config) => {
|
|
19
|
+
const dictionariesPath = join(mainDir, "dictionaries.cjs");
|
|
20
|
+
const relativeDictionariesPath = relative(baseDir, dictionariesPath);
|
|
21
|
+
config.externals.push({
|
|
22
|
+
esbuild: "esbuild",
|
|
23
|
+
module: "module",
|
|
24
|
+
fs: "fs"
|
|
25
|
+
});
|
|
26
|
+
config.resolve.alias["@intlayer/dictionaries-entry"] = resolve(
|
|
27
|
+
relativeDictionariesPath
|
|
28
|
+
);
|
|
29
|
+
config.module.rules.push({
|
|
30
|
+
test: /\.node$/,
|
|
31
|
+
loader: "node-loader"
|
|
32
|
+
});
|
|
33
|
+
return config;
|
|
34
|
+
}
|
|
12
35
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
env: mergeEnvVariable(nextConfig.env),
|
|
19
|
-
stats: mergeStats(nextConfig.stats),
|
|
20
|
-
webpack: (config) => {
|
|
21
|
-
const dictionariesPath = join(mainDir, "dictionaries.cjs");
|
|
22
|
-
const relativeDictionariesPath = relative(baseDir, dictionariesPath);
|
|
23
|
-
config.externals.push({
|
|
24
|
-
esbuild: "esbuild",
|
|
25
|
-
module: "module",
|
|
26
|
-
fs: "fs",
|
|
27
|
-
});
|
|
28
|
-
config.resolve.alias["@intlayer/dictionaries-entry"] = resolve(
|
|
29
|
-
relativeDictionariesPath
|
|
30
|
-
);
|
|
31
|
-
config.module.rules.push({
|
|
32
|
-
test: /\.node$/,
|
|
33
|
-
loader: "node-loader",
|
|
34
|
-
});
|
|
35
|
-
return config;
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
export { withIntlayer };
|
|
40
|
-
//# sourceMappingURL=withIntlayer.mjs.map
|
|
36
|
+
};
|
|
37
|
+
export {
|
|
38
|
+
withIntlayer
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=withIntlayer.mjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Locales } from
|
|
2
|
-
import { NextPage } from
|
|
3
|
-
import { PropsWithChildren } from
|
|
1
|
+
import { Locales } from 'intlayer';
|
|
2
|
+
import { NextPage } from 'next';
|
|
3
|
+
import { PropsWithChildren } from 'react';
|
|
4
4
|
|
|
5
5
|
type LocalParams = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
params: {
|
|
7
|
+
locale: Locales;
|
|
8
|
+
};
|
|
9
9
|
};
|
|
10
10
|
type NextPageIntlayer = NextPage<LocalParams>;
|
|
11
11
|
type NextLayoutIntlayer = NextPage<PropsWithChildren<LocalParams>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=NextPage.mjs.map
|
|
1
|
+
//# sourceMappingURL=NextPage.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { LocalParams, NextPageIntlayer } from
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
export { LocalParams, NextPageIntlayer } from './NextPage.mjs';
|
|
2
|
+
import 'intlayer';
|
|
3
|
+
import 'next';
|
|
4
|
+
import 'react';
|
package/dist/esm/types/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next-intlayer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Webpack configuration for IntLayer using NextJS",
|
|
6
6
|
"keywords": [
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"homepage": "https://github.com/aypineau/intlayer",
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "https://github.com/aypineau/intlayer"
|
|
20
|
+
"url": "git+https://github.com/aypineau/intlayer.git"
|
|
21
21
|
},
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"author": {
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
"negotiator": "^0.6.3",
|
|
67
67
|
"next": "14.1.4",
|
|
68
68
|
"webpack": "^5.91.0",
|
|
69
|
-
"@intlayer/
|
|
70
|
-
"@intlayer/
|
|
71
|
-
"intlayer": "^1.0.
|
|
72
|
-
"
|
|
73
|
-
"react-intlayer": "^1.0.
|
|
69
|
+
"@intlayer/config": "^1.0.1",
|
|
70
|
+
"@intlayer/core": "^1.0.1",
|
|
71
|
+
"@intlayer/dictionaries-entry": "^1.0.1",
|
|
72
|
+
"intlayer": "^1.0.1",
|
|
73
|
+
"react-intlayer": "^1.0.1"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/negotiator": "^0.6.3",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"rimraf": "5.0.5",
|
|
81
81
|
"tsup": "^8.0.2",
|
|
82
82
|
"typescript": "^5.4.3",
|
|
83
|
-
"@utils/eslint-config": "^1.0.
|
|
84
|
-
"@utils/ts-config": "^1.0.
|
|
83
|
+
"@utils/eslint-config": "^1.0.1",
|
|
84
|
+
"@utils/ts-config": "^1.0.1"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {
|
|
87
87
|
"react": "^18.2.0"
|
package/src/client/useLocale.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
type Locales,
|
|
3
|
+
intlayerMiddlewareConfiguration,
|
|
4
|
+
} from '@intlayer/config/client';
|
|
3
5
|
import { usePathname, useRouter } from 'next/navigation.js';
|
|
4
6
|
import { useLocale as useReactLocale, useLocaleCookie } from 'react-intlayer';
|
|
5
7
|
|
|
@@ -18,7 +20,7 @@ export const useLocale = () => {
|
|
|
18
20
|
} = reactLocaleHook;
|
|
19
21
|
|
|
20
22
|
const setLocale = (locale: Locales) => {
|
|
21
|
-
if (currentLocale === locale) return;
|
|
23
|
+
if (currentLocale.toString() === locale.toString()) return;
|
|
22
24
|
|
|
23
25
|
if (!availableLocales.includes(locale)) {
|
|
24
26
|
console.error(`Locale ${locale} is not available`);
|
|
@@ -28,7 +30,7 @@ export const useLocale = () => {
|
|
|
28
30
|
setLocaleCookie(locale);
|
|
29
31
|
|
|
30
32
|
const pathWithoutLocale =
|
|
31
|
-
!prefixDefault && currentLocale === defaultLocale
|
|
33
|
+
!prefixDefault && currentLocale.toString() === defaultLocale.toString()
|
|
32
34
|
? pathname
|
|
33
35
|
: pathname.slice(`/${currentLocale}`.length) || '/';
|
|
34
36
|
|