@nimpl/i18n 0.0.0-experimental-504b302 → 0.0.0-experimental-7639e49

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.
Files changed (82) hide show
  1. package/README.md +2 -2
  2. package/{ClientTranslation.d.ts → dist/cjs/client-translation.d.ts} +1 -1
  3. package/dist/cjs/client-translation.js +15 -0
  4. package/dist/cjs/client-translation.js.map +1 -0
  5. package/dist/{initialize.js → cjs/initialize.js} +12 -13
  6. package/dist/cjs/initialize.js.map +1 -0
  7. package/dist/cjs/lib/client-context.d.ts +7 -0
  8. package/dist/cjs/lib/client-context.js +9 -0
  9. package/dist/cjs/lib/client-context.js.map +1 -0
  10. package/dist/cjs/lib/client-provider.d.ts +10 -0
  11. package/dist/cjs/lib/client-provider.js +16 -0
  12. package/dist/cjs/lib/client-provider.js.map +1 -0
  13. package/dist/cjs/lib/format-translate.d.ts +6 -0
  14. package/dist/cjs/lib/format-translate.js +18 -0
  15. package/dist/cjs/lib/format-translate.js.map +1 -0
  16. package/dist/cjs/lib/get-translation-core.d.ts +11 -0
  17. package/dist/cjs/lib/get-translation-core.js +27 -0
  18. package/dist/cjs/lib/get-translation-core.js.map +1 -0
  19. package/dist/cjs/lib/inject-query.d.ts +8 -0
  20. package/dist/{lib/injectQuery.js → cjs/lib/inject-query.js} +4 -3
  21. package/dist/cjs/lib/inject-query.js.map +1 -0
  22. package/dist/cjs/lib/parse-entities.d.ts +1 -0
  23. package/dist/cjs/lib/translation-core.d.ts +13 -0
  24. package/dist/cjs/lib/translation-core.js +14 -0
  25. package/dist/cjs/lib/translation-core.js.map +1 -0
  26. package/dist/cjs/lib/translation.d.ts +11 -0
  27. package/dist/{lib/Translation.js → cjs/lib/translation.js} +9 -10
  28. package/dist/cjs/lib/translation.js.map +1 -0
  29. package/dist/cjs/lib/transmitter-core.d.ts +10 -0
  30. package/dist/cjs/lib/transmitter-core.js +37 -0
  31. package/dist/cjs/lib/transmitter-core.js.map +1 -0
  32. package/dist/{useTranslation.js → cjs/use-translation.js} +11 -10
  33. package/dist/cjs/use-translation.js.map +1 -0
  34. package/dist/esm/client-translation.d.ts +11 -0
  35. package/dist/esm/client-translation.mjs +13 -0
  36. package/dist/esm/client-translation.mjs.map +1 -0
  37. package/dist/esm/initialize.d.ts +17 -0
  38. package/dist/esm/initialize.mjs +85 -0
  39. package/dist/esm/initialize.mjs.map +1 -0
  40. package/dist/esm/lib/client-context.d.ts +7 -0
  41. package/dist/esm/lib/client-context.mjs +7 -0
  42. package/dist/esm/lib/client-context.mjs.map +1 -0
  43. package/dist/esm/lib/client-provider.d.ts +10 -0
  44. package/dist/esm/lib/client-provider.mjs +14 -0
  45. package/dist/esm/lib/client-provider.mjs.map +1 -0
  46. package/dist/esm/lib/format-translate.d.ts +6 -0
  47. package/dist/esm/lib/format-translate.mjs +16 -0
  48. package/dist/esm/lib/format-translate.mjs.map +1 -0
  49. package/dist/esm/lib/get-translation-core.d.ts +11 -0
  50. package/dist/esm/lib/get-translation-core.mjs +25 -0
  51. package/dist/esm/lib/get-translation-core.mjs.map +1 -0
  52. package/dist/esm/lib/inject-query.d.ts +8 -0
  53. package/dist/esm/lib/inject-query.mjs +30 -0
  54. package/dist/esm/lib/inject-query.mjs.map +1 -0
  55. package/dist/esm/lib/parse-entities.d.ts +1 -0
  56. package/dist/esm/lib/translation-core.d.ts +13 -0
  57. package/dist/esm/lib/translation-core.mjs +12 -0
  58. package/dist/esm/lib/translation-core.mjs.map +1 -0
  59. package/dist/esm/lib/translation.d.ts +11 -0
  60. package/dist/esm/lib/translation.mjs +90 -0
  61. package/dist/esm/lib/translation.mjs.map +1 -0
  62. package/dist/esm/lib/transmitter-core.d.ts +10 -0
  63. package/dist/esm/lib/transmitter-core.mjs +35 -0
  64. package/dist/esm/lib/transmitter-core.mjs.map +1 -0
  65. package/dist/esm/types.d.ts +32 -0
  66. package/dist/esm/use-translation.d.ts +9 -0
  67. package/dist/esm/use-translation.mjs +35 -0
  68. package/dist/esm/use-translation.mjs.map +1 -0
  69. package/package.json +38 -16
  70. package/dist/ClientTranslation.js +0 -16
  71. package/dist/lib/ClientI18nContext.js +0 -6
  72. package/dist/lib/ClientI18nProvider.js +0 -47
  73. package/dist/lib/format-translate.js +0 -16
  74. package/dist/lib/get-translation-core.js +0 -28
  75. package/dist/lib/parseEntities.js +0 -8
  76. package/dist/lib/translation-core.js +0 -15
  77. package/dist/lib/transmitter-core.js +0 -38
  78. package/dist/types.js +0 -2
  79. package/env.d.ts +0 -1
  80. /package/{initialize.d.ts → dist/cjs/initialize.d.ts} +0 -0
  81. /package/{types.d.ts → dist/cjs/types.d.ts} +0 -0
  82. /package/{useTranslation.d.ts → dist/cjs/use-translation.d.ts} +0 -0
package/package.json CHANGED
@@ -1,27 +1,42 @@
1
1
  {
2
2
  "name": "@nimpl/i18n",
3
- "version": "0.0.0-experimental-504b302",
3
+ "version": "0.0.0-experimental-7639e49",
4
4
  "description": "i18n library for working with translations in server and client components",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "main": "dist/cjs/initialize.js",
9
+ "module": "dist/esm/initialize.mjs",
10
+ "types": "dist/cjs/initialize.d.ts",
5
11
  "exports": {
6
- "./ClientTranslation": {
7
- "default": "./dist/ClientTranslation.js"
12
+ "./client-translation": {
13
+ "types": "./dist/cjs/client-translation.d.ts",
14
+ "import": "./dist/esm/client-translation.mjs",
15
+ "require": "./dist/cjs/client-translation.js",
16
+ "default": "./dist/esm/client-translation.mjs"
8
17
  },
9
18
  "./initialize": {
10
- "default": "./dist/initialize.js"
19
+ "types": "./dist/cjs/initialize.d.ts",
20
+ "import": "./dist/esm/initialize.mjs",
21
+ "require": "./dist/cjs/initialize.js",
22
+ "default": "./dist/esm/initialize.mjs"
11
23
  },
12
24
  "./types": {
13
- "default": "./dist/types.js"
25
+ "types": "./dist/cjs/types.d.ts",
26
+ "import": "./dist/esm/types.mjs",
27
+ "require": "./dist/cjs/types.js",
28
+ "default": "./dist/esm/types.mjs"
14
29
  },
15
- "./useTranslation": {
16
- "default": "./dist/useTranslation.js"
30
+ "./use-translation": {
31
+ "types": "./dist/cjs/use-translation.d.ts",
32
+ "import": "./dist/esm/use-translation.mjs",
33
+ "require": "./dist/cjs/use-translation.js",
34
+ "default": "./dist/esm/use-translation.mjs"
17
35
  }
18
36
  },
19
- "files": [
20
- "dist",
21
- "*.d.ts"
22
- ],
23
37
  "scripts": {
24
- "build": "tsc"
38
+ "build": "rollup -c",
39
+ "clean": "rm -rf dist"
25
40
  },
26
41
  "keywords": [
27
42
  "next",
@@ -44,19 +59,26 @@
44
59
  "url": "https://github.com/alexdln/"
45
60
  },
46
61
  "license": "MIT",
62
+ "dependencies": {
63
+ "html-entities": "2.6.0",
64
+ "object-path": "0.11.8"
65
+ },
47
66
  "devDependencies": {
67
+ "@rollup/plugin-commonjs": "29.0.0",
68
+ "@rollup/plugin-node-resolve": "16.0.3",
69
+ "@rollup/plugin-terser": "0.4.4",
70
+ "@rollup/plugin-typescript": "12.3.0",
48
71
  "@types/node": "25.1.0",
49
72
  "@types/object-path": "0.11.4",
50
73
  "@types/react": "19.2.10",
51
74
  "@types/webpack": "5.28.5",
52
75
  "react": "19.2.4",
76
+ "rollup": "4.57.1",
77
+ "rollup-preserve-directives": "1.1.3",
78
+ "tslib": "2.8.1",
53
79
  "typescript": "5.9.3"
54
80
  },
55
81
  "peerDependencies": {
56
82
  "react": ">= 19.1.0"
57
- },
58
- "dependencies": {
59
- "html-entities": "2.6.0",
60
- "object-path": "0.11.8"
61
83
  }
62
84
  }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- "use client";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ClientTranslation = void 0;
8
- const react_1 = __importDefault(require("react"));
9
- const Translation_1 = require("./lib/Translation");
10
- const useTranslation_1 = require("./useTranslation");
11
- const ClientTranslation = ({ term, components, query, removeUnusedQueries, }) => {
12
- const { t } = (0, useTranslation_1.useTranslation)();
13
- const text = t(term, { query, removeUnusedQueries });
14
- return react_1.default.createElement(Translation_1.Translation, { term: term, text: text, components: components });
15
- };
16
- exports.ClientTranslation = ClientTranslation;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- "use client";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ClientI18nContext = void 0;
5
- const react_1 = require("react");
6
- exports.ClientI18nContext = (0, react_1.createContext)(null);
@@ -1,47 +0,0 @@
1
- "use strict";
2
- "use client";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.ClientI18nProvider = void 0;
38
- const react_1 = __importStar(require("react"));
39
- const ClientI18nContext_1 = require("./ClientI18nContext");
40
- const ClientI18nProvider = ({ translates, children, language, cleanThread, }) => {
41
- const prevTranslates = (0, react_1.useContext)(ClientI18nContext_1.ClientI18nContext);
42
- if (cleanThread) {
43
- Object.assign(translates, prevTranslates?.translates);
44
- }
45
- return react_1.default.createElement(ClientI18nContext_1.ClientI18nContext.Provider, { value: { language, translates } }, children);
46
- };
47
- exports.ClientI18nProvider = ClientI18nProvider;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatTranslate = void 0;
4
- const html_entities_1 = require("html-entities");
5
- const injectQuery_1 = require("./injectQuery");
6
- const formatTranslate = ({ term, text, removeUnusedQueries, query, parseEntities }) => {
7
- let newTranslate = text;
8
- if (query) {
9
- newTranslate = (0, injectQuery_1.injectQuery)({ term, text: newTranslate, query, removeUnusedQueries });
10
- }
11
- if (parseEntities === undefined || parseEntities === true) {
12
- newTranslate = (0, html_entities_1.decode)(newTranslate, { scope: "strict" });
13
- }
14
- return newTranslate;
15
- };
16
- exports.formatTranslate = formatTranslate;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTranslationCore = void 0;
7
- const object_path_1 = __importDefault(require("object-path"));
8
- const format_translate_1 = require("./format-translate");
9
- const getTranslationCore = (options) => {
10
- const { language, namespace, dictionary } = options || {};
11
- const namespaceDictionary = namespace ? object_path_1.default.get(dictionary, namespace) : dictionary;
12
- const t = (term, opts) => {
13
- let termDictionary = namespaceDictionary;
14
- let termNamespace = namespace;
15
- let termKey = term;
16
- if (term.includes(":")) {
17
- [termNamespace, termKey] = term.split(":");
18
- termDictionary = object_path_1.default.get(dictionary, termNamespace);
19
- }
20
- const translation = object_path_1.default.get(termDictionary, termKey);
21
- const fullTerm = `${termNamespace ? `${termNamespace}.` : ""}${termKey}`;
22
- if (typeof translation !== "string" || !translation)
23
- return fullTerm;
24
- return (0, format_translate_1.formatTranslate)({ term: fullTerm, text: translation, parseEntities: true, ...opts });
25
- };
26
- return { t, language };
27
- };
28
- exports.getTranslationCore = getTranslationCore;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseEntities = void 0;
4
- const html_entities_1 = require("html-entities");
5
- const parseEntities = (translate) => {
6
- return (0, html_entities_1.decode)(translate, { scope: "strict" });
7
- };
8
- exports.parseEntities = parseEntities;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TranslationCore = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const Translation_1 = require("./Translation");
9
- const get_translation_core_1 = require("./get-translation-core");
10
- const TranslationCore = ({ dictionary, namespace, term, components, query, removeUnusedQueries, language, }) => {
11
- const { t } = (0, get_translation_core_1.getTranslationCore)({ language, namespace, dictionary });
12
- const text = t(term, { query, removeUnusedQueries });
13
- return react_1.default.createElement(Translation_1.Translation, { term: term, text: text, components: components });
14
- };
15
- exports.TranslationCore = TranslationCore;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TransmitterCore = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const object_path_1 = __importDefault(require("object-path"));
9
- const ClientI18nProvider_1 = require("./ClientI18nProvider");
10
- const format_translate_1 = require("./format-translate");
11
- const formatTranslates = (result, targetKey, translates, opts = {}) => {
12
- if (!translates)
13
- return;
14
- if (typeof translates === "string") {
15
- result[targetKey] = (0, format_translate_1.formatTranslate)({ term: targetKey, text: translates, parseEntities: true, ...opts });
16
- }
17
- else {
18
- Object.entries(translates).forEach(([subKey, translate]) => {
19
- formatTranslates(result, `${targetKey}.${subKey}`, translate, opts);
20
- });
21
- }
22
- };
23
- const TransmitterCore = async ({ dictionary, language, terms, children, cleanThread, }) => {
24
- const result = {};
25
- terms.forEach((term) => {
26
- if (Array.isArray(term)) {
27
- const [termKey, opts] = term;
28
- const translates = object_path_1.default.get(dictionary, termKey);
29
- formatTranslates(result, termKey, translates, opts);
30
- }
31
- else {
32
- const translates = object_path_1.default.get(dictionary, term);
33
- formatTranslates(result, term, translates);
34
- }
35
- });
36
- return (react_1.default.createElement(ClientI18nProvider_1.ClientI18nProvider, { language: language, translates: result, cleanThread: cleanThread }, children));
37
- };
38
- exports.TransmitterCore = TransmitterCore;
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
package/env.d.ts DELETED
@@ -1 +0,0 @@
1
- /// <reference types="react/experimental" />
File without changes
File without changes