@jsverse/transloco 7.6.1 → 8.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.
Files changed (207) hide show
  1. package/CHANGELOG.md +48 -3
  2. package/README.md +2 -0
  3. package/esm2022/index.mjs +4 -5
  4. package/esm2022/lib/get-fallbacks-loaders.mjs +1 -1
  5. package/esm2022/lib/lang-resolver.mjs +3 -2
  6. package/esm2022/lib/resolve-loader.mjs +2 -2
  7. package/esm2022/lib/scope-resolver.mjs +3 -2
  8. package/esm2022/lib/template-handler.mjs +2 -2
  9. package/esm2022/lib/transloco-missing-handler.mjs +1 -1
  10. package/esm2022/lib/transloco-scope.mjs +1 -1
  11. package/esm2022/lib/transloco-testing.module.mjs +1 -1
  12. package/esm2022/lib/transloco.config.mjs +1 -1
  13. package/esm2022/lib/transloco.directive.mjs +4 -3
  14. package/esm2022/lib/transloco.interceptor.mjs +1 -1
  15. package/esm2022/lib/transloco.loader.mjs +1 -1
  16. package/esm2022/lib/transloco.pipe.mjs +4 -3
  17. package/esm2022/lib/transloco.providers.mjs +1 -1
  18. package/esm2022/lib/transloco.service.mjs +4 -3
  19. package/esm2022/lib/transloco.signal.mjs +1 -1
  20. package/esm2022/lib/transloco.transpiler.mjs +3 -2
  21. package/esm2022/lib/transloco.types.mjs +2 -0
  22. package/esm2022/lib/utils/browser.utils.mjs +30 -0
  23. package/esm2022/lib/utils/flat.utils.mjs +37 -0
  24. package/esm2022/lib/utils/lang.utils.mjs +15 -0
  25. package/esm2022/lib/utils/object.utils.mjs +28 -0
  26. package/esm2022/lib/utils/pipe.utils.mjs +17 -0
  27. package/esm2022/lib/utils/scope.utils.mjs +51 -0
  28. package/esm2022/lib/utils/type.utils.mjs +2 -0
  29. package/fesm2022/jsverse-transloco.mjs +156 -209
  30. package/fesm2022/jsverse-transloco.mjs.map +1 -1
  31. package/index.d.ts +3 -4
  32. package/lib/get-fallbacks-loaders.d.ts +1 -1
  33. package/lib/resolve-loader.d.ts +2 -2
  34. package/lib/scope-resolver.d.ts +2 -1
  35. package/lib/transloco-missing-handler.d.ts +1 -1
  36. package/lib/transloco-scope.d.ts +1 -1
  37. package/lib/transloco-testing.module.d.ts +2 -1
  38. package/lib/transloco.config.d.ts +1 -1
  39. package/lib/transloco.directive.d.ts +2 -2
  40. package/lib/transloco.interceptor.d.ts +1 -1
  41. package/lib/transloco.loader.d.ts +1 -1
  42. package/lib/transloco.pipe.d.ts +3 -1
  43. package/lib/transloco.providers.d.ts +1 -1
  44. package/lib/transloco.service.d.ts +2 -1
  45. package/lib/transloco.signal.d.ts +2 -1
  46. package/lib/transloco.transpiler.d.ts +2 -1
  47. package/lib/{types.d.ts → transloco.types.d.ts} +1 -2
  48. package/lib/{browser-lang.d.ts → utils/browser.utils.d.ts} +1 -0
  49. package/lib/utils/flat.utils.d.ts +3 -0
  50. package/lib/utils/lang.utils.d.ts +4 -0
  51. package/lib/utils/object.utils.d.ts +2 -0
  52. package/lib/utils/pipe.utils.d.ts +8 -0
  53. package/lib/utils/scope.utils.d.ts +7 -0
  54. package/lib/utils/type.utils.d.ts +1 -0
  55. package/package.json +14 -17
  56. package/schematics/collection.json +12 -0
  57. package/schematics/ng-add/generators/http-loader.gen.d.ts +5 -0
  58. package/schematics/{src/ng-add → ng-add}/generators/http-loader.gen.js +1 -0
  59. package/schematics/ng-add/generators/http-loader.gen.js.map +1 -0
  60. package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.js +3 -3
  61. package/schematics/ng-add/generators/root-module.gen.js.map +1 -0
  62. package/schematics/{src/ng-migrate → ng-add}/index.d.ts +1 -1
  63. package/schematics/{src/ng-add → ng-add}/index.js +29 -19
  64. package/schematics/ng-add/index.js.map +1 -0
  65. package/schematics/ng-add/ng-add.spec.d.ts +1 -0
  66. package/schematics/ng-add/ng-add.spec.js +45 -0
  67. package/schematics/ng-add/ng-add.spec.js.map +1 -0
  68. package/schematics/{src/ng-add → ng-add}/schema.d.ts +0 -8
  69. package/schematics/ng-add/schema.js +9 -0
  70. package/schematics/ng-add/schema.js.map +1 -0
  71. package/schematics/{src/ng-add → ng-add}/schema.json +1 -1
  72. package/schematics-core/index.d.ts +9 -0
  73. package/schematics-core/index.js +36 -0
  74. package/schematics-core/index.js.map +1 -0
  75. package/schematics-core/testing/create-workspace.d.ts +11 -0
  76. package/schematics-core/testing/create-workspace.js +34 -0
  77. package/schematics-core/testing/create-workspace.js.map +1 -0
  78. package/schematics-core/testing/index.d.ts +2 -0
  79. package/schematics-core/testing/index.js +19 -0
  80. package/schematics-core/testing/index.js.map +1 -0
  81. package/schematics-core/testing/mocks.d.ts +14 -0
  82. package/schematics-core/testing/mocks.js +10 -0
  83. package/schematics-core/testing/mocks.js.map +1 -0
  84. package/{schematics/src/utils/array.js → schematics-core/utils/collections.js} +1 -1
  85. package/schematics-core/utils/collections.js.map +1 -0
  86. package/schematics-core/utils/file.d.ts +6 -0
  87. package/schematics-core/utils/file.js +21 -0
  88. package/schematics-core/utils/file.js.map +1 -0
  89. package/{schematics/src → schematics-core}/utils/find-module.js +2 -0
  90. package/schematics-core/utils/find-module.js.map +1 -0
  91. package/{schematics/src → schematics-core}/utils/package.d.ts +0 -3
  92. package/{schematics/src → schematics-core}/utils/package.js +2 -4
  93. package/schematics-core/utils/package.js.map +1 -0
  94. package/schematics-core/utils/schematic.d.ts +6 -0
  95. package/{schematics/src/schematics.utils.js → schematics-core/utils/schematic.js} +6 -6
  96. package/schematics-core/utils/schematic.js.map +1 -0
  97. package/schematics-core/utils/translation.d.ts +20 -0
  98. package/schematics-core/utils/translation.js +83 -0
  99. package/schematics-core/utils/translation.js.map +1 -0
  100. package/schematics-core/utils/transloco.d.ts +5 -0
  101. package/schematics-core/utils/transloco.js +31 -0
  102. package/schematics-core/utils/transloco.js.map +1 -0
  103. package/schematics-core/utils/workspace.d.ts +6 -0
  104. package/{schematics/src/utils/projects.js → schematics-core/utils/workspace.js} +1 -13
  105. package/schematics-core/utils/workspace.js.map +1 -0
  106. package/esm2022/lib/browser-lang.mjs +0 -28
  107. package/esm2022/lib/helpers.mjs +0 -129
  108. package/esm2022/lib/shared.mjs +0 -73
  109. package/esm2022/lib/types.mjs +0 -2
  110. package/lib/helpers.d.ts +0 -20
  111. package/lib/shared.d.ts +0 -17
  112. package/schematics/src/assets/i18n/en.json +0 -1
  113. package/schematics/src/collection.json +0 -59
  114. package/schematics/src/component/index.d.ts +0 -2
  115. package/schematics/src/component/index.js +0 -21
  116. package/schematics/src/component/index.js.map +0 -1
  117. package/schematics/src/join/index.d.ts +0 -3
  118. package/schematics/src/join/index.js +0 -79
  119. package/schematics/src/join/index.js.map +0 -1
  120. package/schematics/src/join/schema.d.ts +0 -28
  121. package/schematics/src/join/schema.js +0 -3
  122. package/schematics/src/join/schema.js.map +0 -1
  123. package/schematics/src/join/schema.json +0 -43
  124. package/schematics/src/keys-manager/index.d.ts +0 -5
  125. package/schematics/src/keys-manager/index.js +0 -96
  126. package/schematics/src/keys-manager/index.js.map +0 -1
  127. package/schematics/src/keys-manager/schema.d.ts +0 -19
  128. package/schematics/src/keys-manager/schema.js +0 -3
  129. package/schematics/src/keys-manager/schema.js.map +0 -1
  130. package/schematics/src/keys-manager/schema.json +0 -33
  131. package/schematics/src/migrate/index.d.ts +0 -3
  132. package/schematics/src/migrate/index.js +0 -21
  133. package/schematics/src/migrate/index.js.map +0 -1
  134. package/schematics/src/migrate/ngx-translate-migration.d.ts +0 -3
  135. package/schematics/src/migrate/ngx-translate-migration.js +0 -175
  136. package/schematics/src/migrate/ngx-translate-migration.js.map +0 -1
  137. package/schematics/src/migrate/schema.d.ts +0 -10
  138. package/schematics/src/migrate/schema.js +0 -3
  139. package/schematics/src/migrate/schema.js.map +0 -1
  140. package/schematics/src/migrate/schema.json +0 -23
  141. package/schematics/src/ng-add/generators/http-loader.gen.d.ts +0 -4
  142. package/schematics/src/ng-add/generators/http-loader.gen.js.map +0 -1
  143. package/schematics/src/ng-add/generators/root-module.gen.js.map +0 -1
  144. package/schematics/src/ng-add/generators/translation-files.gen.d.ts +0 -4
  145. package/schematics/src/ng-add/generators/translation-files.gen.js +0 -22
  146. package/schematics/src/ng-add/generators/translation-files.gen.js.map +0 -1
  147. package/schematics/src/ng-add/index.d.ts +0 -3
  148. package/schematics/src/ng-add/index.js.map +0 -1
  149. package/schematics/src/ng-add/schema.js +0 -14
  150. package/schematics/src/ng-add/schema.js.map +0 -1
  151. package/schematics/src/ng-migrate/index.js +0 -14
  152. package/schematics/src/ng-migrate/index.js.map +0 -1
  153. package/schematics/src/ng-migrate/ng-migrate.d.ts +0 -5
  154. package/schematics/src/ng-migrate/ng-migrate.js +0 -105
  155. package/schematics/src/ng-migrate/ng-migrate.js.map +0 -1
  156. package/schematics/src/ng-migrate/schema.d.ts +0 -14
  157. package/schematics/src/ng-migrate/schema.js +0 -3
  158. package/schematics/src/ng-migrate/schema.js.map +0 -1
  159. package/schematics/src/ng-migrate/schema.json +0 -27
  160. package/schematics/src/schematics.utils.d.ts +0 -6
  161. package/schematics/src/schematics.utils.js.map +0 -1
  162. package/schematics/src/scope/index.d.ts +0 -3
  163. package/schematics/src/scope/index.js +0 -101
  164. package/schematics/src/scope/index.js.map +0 -1
  165. package/schematics/src/scope/schema.d.ts +0 -28
  166. package/schematics/src/scope/schema.js +0 -3
  167. package/schematics/src/scope/schema.js.map +0 -1
  168. package/schematics/src/scope/schema.json +0 -84
  169. package/schematics/src/split/index.d.ts +0 -3
  170. package/schematics/src/split/index.js +0 -66
  171. package/schematics/src/split/index.js.map +0 -1
  172. package/schematics/src/split/schema.d.ts +0 -20
  173. package/schematics/src/split/schema.js +0 -3
  174. package/schematics/src/split/schema.js.map +0 -1
  175. package/schematics/src/split/schema.json +0 -35
  176. package/schematics/src/types.d.ts +0 -5
  177. package/schematics/src/types.js +0 -10
  178. package/schematics/src/types.js.map +0 -1
  179. package/schematics/src/upgrade/index.d.ts +0 -3
  180. package/schematics/src/upgrade/index.js +0 -19
  181. package/schematics/src/upgrade/index.js.map +0 -1
  182. package/schematics/src/upgrade/schema.d.ts +0 -6
  183. package/schematics/src/upgrade/schema.js +0 -3
  184. package/schematics/src/upgrade/schema.js.map +0 -1
  185. package/schematics/src/upgrade/schema.json +0 -16
  186. package/schematics/src/upgrade/v2.d.ts +0 -1
  187. package/schematics/src/upgrade/v2.js +0 -88
  188. package/schematics/src/upgrade/v2.js.map +0 -1
  189. package/schematics/src/utils/array.js.map +0 -1
  190. package/schematics/src/utils/config.d.ts +0 -2
  191. package/schematics/src/utils/config.js +0 -12
  192. package/schematics/src/utils/config.js.map +0 -1
  193. package/schematics/src/utils/find-module.js.map +0 -1
  194. package/schematics/src/utils/package.js.map +0 -1
  195. package/schematics/src/utils/projects.d.ts +0 -8
  196. package/schematics/src/utils/projects.js.map +0 -1
  197. package/schematics/src/utils/translations.d.ts +0 -7
  198. package/schematics/src/utils/translations.js +0 -30
  199. package/schematics/src/utils/translations.js.map +0 -1
  200. package/schematics/src/utils/transloco.d.ts +0 -24
  201. package/schematics/src/utils/transloco.js +0 -88
  202. package/schematics/src/utils/transloco.js.map +0 -1
  203. /package/schematics/{src/ng-add → ng-add}/files/transloco-loader/transloco-loader.__ts__ +0 -0
  204. /package/schematics/{src/ng-add → ng-add}/files/transloco-module/transloco-root.module.__ts__ +0 -0
  205. /package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.d.ts +0 -0
  206. /package/{schematics/src/utils/array.d.ts → schematics-core/utils/collections.d.ts} +0 -0
  207. /package/{schematics/src → schematics-core}/utils/find-module.d.ts +0 -0
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createConfig = createConfig;
4
- exports.updateConfig = updateConfig;
5
- exports.getJsonFileContent = getJsonFileContent;
6
- exports.setFileContent = setFileContent;
7
- exports.hasSubdirs = hasSubdirs;
8
- exports.hasFiles = hasFiles;
9
- exports.getTranslationKey = getTranslationKey;
10
- exports.getTranslationsRoot = getTranslationsRoot;
11
- exports.getTranslationFiles = getTranslationFiles;
12
- exports.getTranslationEntryPaths = getTranslationEntryPaths;
13
- exports.getDefaultLang = getDefaultLang;
14
- const p = require("node:path");
15
- const schematics_utils_1 = require("../schematics.utils");
16
- const projects_1 = require("./projects");
17
- const config_1 = require("./config");
18
- function createConfig(host, langs, rootTranslationsPath = 'assets/i18n/') {
19
- if (!host.get(schematics_utils_1.CONFIG_FILE)) {
20
- host.create(schematics_utils_1.CONFIG_FILE, (0, schematics_utils_1.generateConfigFile)({
21
- rootTranslationsPath: rootTranslationsPath,
22
- langs,
23
- keysManager: {},
24
- }));
25
- }
26
- }
27
- function updateConfig(host, config) {
28
- const originalConfig = (0, config_1.getConfig)();
29
- if (!originalConfig || Object.keys(originalConfig).length === 0) {
30
- return createConfig(host, config.langs, config.rootTranslationsPath);
31
- }
32
- host.overwrite(schematics_utils_1.CONFIG_FILE, (0, schematics_utils_1.generateConfigFile)({ ...config, ...originalConfig }));
33
- }
34
- function getJsonFileContent(fileName, dir, parser = JSON.parse) {
35
- return parser(dir.file(fileName).content.toString('utf-8'));
36
- }
37
- function setFileContent(host, dirPath, fileName, content) {
38
- return host.overwrite(p.join(dirPath, fileName), JSON.stringify(content, null, 2));
39
- }
40
- function hasSubdirs(dir) {
41
- return dir.subdirs && dir.subdirs.length;
42
- }
43
- function hasFiles(dir) {
44
- return dir.subfiles && dir.subfiles.length;
45
- }
46
- function getTranslationKey(prefix = '', key) {
47
- return prefix ? `${prefix}.${key}` : key;
48
- }
49
- function getTranslationsRoot(host, options) {
50
- const translocoConfig = (0, config_1.getConfig)();
51
- if (options.translationPath) {
52
- return options.translationPath;
53
- }
54
- else if (translocoConfig && translocoConfig.rootTranslationsPath) {
55
- return translocoConfig.rootTranslationsPath;
56
- }
57
- else {
58
- const project = (0, projects_1.getProject)(host, options.project);
59
- const rootPath = (project && project.sourceRoot) || 'src';
60
- return p.join(rootPath, 'assets', 'i18n');
61
- }
62
- }
63
- function getTranslationFiles(host, root, parser) {
64
- const rootDir = host.getDir(root);
65
- return rootDir.subfiles.map((fileName) => ({
66
- lang: fileName.split('.')[0],
67
- translation: getJsonFileContent(fileName, rootDir, parser),
68
- }));
69
- }
70
- function getTranslationEntryPaths(host, rootDirPath) {
71
- const translocoConfig = (0, config_1.getConfig)();
72
- if (translocoConfig.scopePathMap &&
73
- Object.keys(translocoConfig.scopePathMap).length) {
74
- return Object.entries(translocoConfig.scopePathMap).map(([scope, path]) => ({
75
- scope,
76
- path,
77
- }));
78
- }
79
- const rootDir = host.getDir(rootDirPath);
80
- return rootDir.subdirs.map((subDir) => ({
81
- scope: subDir,
82
- path: p.join(rootDirPath, subDir),
83
- }));
84
- }
85
- function getDefaultLang(options) {
86
- return options.defaultLang || (0, config_1.getConfig)().defaultLang;
87
- }
88
- //# sourceMappingURL=transloco.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transloco.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/transloco.ts"],"names":[],"mappings":"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"}