@jsverse/transloco 7.6.1 → 8.0.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.
Files changed (207) hide show
  1. package/CHANGELOG.md +36 -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 +3 -2
  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 +155 -208
  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 +1 -1
  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 +15 -18
  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,73 +0,0 @@
1
- import { take } from 'rxjs';
2
- import { hasInlineLoader, isString } from './helpers';
3
- /*
4
- * @example
5
- *
6
- * given: lazy-page/en => lazy-page
7
- *
8
- */
9
- export function getScopeFromLang(lang) {
10
- if (!lang) {
11
- return '';
12
- }
13
- const split = lang.split('/');
14
- split.pop();
15
- return split.join('/');
16
- }
17
- /*
18
- * @example
19
- *
20
- * given: lazy-page/en => en
21
- *
22
- */
23
- export function getLangFromScope(lang) {
24
- if (!lang) {
25
- return '';
26
- }
27
- return lang.split('/').pop();
28
- }
29
- /**
30
- * @example
31
- *
32
- * getPipeValue('todos|scoped', 'scoped') [true, 'todos']
33
- * getPipeValue('en|static', 'static') [true, 'en']
34
- * getPipeValue('en', 'static') [false, 'en']
35
- */
36
- export function getPipeValue(str, value, char = '|') {
37
- if (isString(str)) {
38
- const splitted = str.split(char);
39
- const lastItem = splitted.pop();
40
- return lastItem === value ? [true, splitted.toString()] : [false, lastItem];
41
- }
42
- return [false, ''];
43
- }
44
- export function shouldListenToLangChanges(service, lang) {
45
- const [hasStatic] = getPipeValue(lang, 'static');
46
- if (!hasStatic) {
47
- // If we didn't get 'lang|static' check if it's set in the global level
48
- return !!service.config.reRenderOnLangChange;
49
- }
50
- // We have 'lang|static' so don't listen to lang changes
51
- return false;
52
- }
53
- export function listenOrNotOperator(listenToLangChange) {
54
- return listenToLangChange ? (source) => source : take(1);
55
- }
56
- function prependScope(inlineLoader, scope) {
57
- return Object.keys(inlineLoader).reduce((acc, lang) => {
58
- acc[`${scope}/${lang}`] = inlineLoader[lang];
59
- return acc;
60
- }, {});
61
- }
62
- export function resolveInlineLoader(providerScope, scope) {
63
- return hasInlineLoader(providerScope)
64
- ? prependScope(providerScope.loader, scope)
65
- : undefined;
66
- }
67
- export function getEventPayload(lang) {
68
- return {
69
- scope: getScopeFromLang(lang) || null,
70
- langName: getLangFromScope(lang),
71
- };
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28vc3JjL2xpYi9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBWTtJQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVaLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBWTtJQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFHLENBQUM7QUFDaEMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQzFCLEdBQXVCLEVBQ3ZCLEtBQWEsRUFDYixJQUFJLEdBQUcsR0FBRztJQUVWLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFHLENBQUM7UUFFakMsT0FBTyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsT0FBeUIsRUFDekIsSUFBYTtJQUViLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLHVFQUF1RTtRQUN2RSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO0lBQy9DLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxrQkFBNEI7SUFFNUIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBSSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsWUFBMEIsRUFBRSxLQUFhO0lBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ3JDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ1osR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQXNELENBQ3ZELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxhQUFvQyxFQUNwQyxLQUFjO0lBRWQsT0FBTyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU8sRUFBRSxLQUFNLENBQUM7UUFDN0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU87UUFDTCxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSTtRQUNyQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0tBQ2pDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT3BlcmF0b3JGdW5jdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xvY28uc2VydmljZSc7XG5pbXBvcnQgeyBoYXNJbmxpbmVMb2FkZXIsIGlzU3RyaW5nIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IElubGluZUxvYWRlciwgTG9hZGVkRXZlbnQsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBAZXhhbXBsZVxuICpcbiAqIGdpdmVuOiBsYXp5LXBhZ2UvZW4gPT4gbGF6eS1wYWdlXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NvcGVGcm9tTGFuZyhsYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWxhbmcpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBzcGxpdCA9IGxhbmcuc3BsaXQoJy8nKTtcbiAgc3BsaXQucG9wKCk7XG5cbiAgcmV0dXJuIHNwbGl0LmpvaW4oJy8nKTtcbn1cblxuLypcbiAqIEBleGFtcGxlXG4gKlxuICogZ2l2ZW46IGxhenktcGFnZS9lbiA9PiBlblxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmdGcm9tU2NvcGUobGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFsYW5nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIGxhbmcuc3BsaXQoJy8nKS5wb3AoKSE7XG59XG5cbi8qKlxuICogQGV4YW1wbGVcbiAqXG4gKiBnZXRQaXBlVmFsdWUoJ3RvZG9zfHNjb3BlZCcsICdzY29wZWQnKSBbdHJ1ZSwgJ3RvZG9zJ11cbiAqIGdldFBpcGVWYWx1ZSgnZW58c3RhdGljJywgJ3N0YXRpYycpIFt0cnVlLCAnZW4nXVxuICogZ2V0UGlwZVZhbHVlKCdlbicsICdzdGF0aWMnKSBbZmFsc2UsICdlbiddXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQaXBlVmFsdWUoXG4gIHN0cjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB2YWx1ZTogc3RyaW5nLFxuICBjaGFyID0gJ3wnLFxuKTogW2Jvb2xlYW4sIHN0cmluZ10ge1xuICBpZiAoaXNTdHJpbmcoc3RyKSkge1xuICAgIGNvbnN0IHNwbGl0dGVkID0gc3RyLnNwbGl0KGNoYXIpO1xuICAgIGNvbnN0IGxhc3RJdGVtID0gc3BsaXR0ZWQucG9wKCkhO1xuXG4gICAgcmV0dXJuIGxhc3RJdGVtID09PSB2YWx1ZSA/IFt0cnVlLCBzcGxpdHRlZC50b1N0cmluZygpXSA6IFtmYWxzZSwgbGFzdEl0ZW1dO1xuICB9XG5cbiAgcmV0dXJuIFtmYWxzZSwgJyddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkTGlzdGVuVG9MYW5nQ2hhbmdlcyhcbiAgc2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcbiAgbGFuZz86IHN0cmluZyxcbikge1xuICBjb25zdCBbaGFzU3RhdGljXSA9IGdldFBpcGVWYWx1ZShsYW5nLCAnc3RhdGljJyk7XG4gIGlmICghaGFzU3RhdGljKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IGdldCAnbGFuZ3xzdGF0aWMnIGNoZWNrIGlmIGl0J3Mgc2V0IGluIHRoZSBnbG9iYWwgbGV2ZWxcbiAgICByZXR1cm4gISFzZXJ2aWNlLmNvbmZpZy5yZVJlbmRlck9uTGFuZ0NoYW5nZTtcbiAgfVxuXG4gIC8vIFdlIGhhdmUgJ2xhbmd8c3RhdGljJyBzbyBkb24ndCBsaXN0ZW4gdG8gbGFuZyBjaGFuZ2VzXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3Rlbk9yTm90T3BlcmF0b3I8VD4oXG4gIGxpc3RlblRvTGFuZ0NoYW5nZT86IGJvb2xlYW4sXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQ+IHtcbiAgcmV0dXJuIGxpc3RlblRvTGFuZ0NoYW5nZSA/IChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHNvdXJjZSA6IHRha2U8VD4oMSk7XG59XG5cbmZ1bmN0aW9uIHByZXBlbmRTY29wZShpbmxpbmVMb2FkZXI6IElubGluZUxvYWRlciwgc2NvcGU6IHN0cmluZykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoaW5saW5lTG9hZGVyKS5yZWR1Y2UoXG4gICAgKGFjYywgbGFuZykgPT4ge1xuICAgICAgYWNjW2Ake3Njb3BlfS8ke2xhbmd9YF0gPSBpbmxpbmVMb2FkZXJbbGFuZ107XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVMb2FkZXJba2V5b2YgSW5saW5lTG9hZGVyXT4sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSW5saW5lTG9hZGVyKFxuICBwcm92aWRlclNjb3BlOiBUcmFuc2xvY29TY29wZSB8IG51bGwsXG4gIHNjb3BlPzogc3RyaW5nLFxuKTogSW5saW5lTG9hZGVyIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGhhc0lubGluZUxvYWRlcihwcm92aWRlclNjb3BlKVxuICAgID8gcHJlcGVuZFNjb3BlKHByb3ZpZGVyU2NvcGUubG9hZGVyISwgc2NvcGUhKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXZlbnRQYXlsb2FkKGxhbmc6IHN0cmluZyk6IExvYWRlZEV2ZW50WydwYXlsb2FkJ10ge1xuICByZXR1cm4ge1xuICAgIHNjb3BlOiBnZXRTY29wZUZyb21MYW5nKGxhbmcpIHx8IG51bGwsXG4gICAgbGFuZ05hbWU6IGdldExhbmdGcm9tU2NvcGUobGFuZyksXG4gIH07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIYXNoTWFwPFQgPSBhbnk+ID0gUmVjb3JkPHN0cmluZywgVD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkRXZlbnQge1xuICB0eXBlOiAndHJhbnNsYXRpb25Mb2FkU3VjY2Vzcyc7XG4gIHdhc0ZhaWx1cmU6IGJvb2xlYW47XG4gIHBheWxvYWQ6IHtcbiAgICBzY29wZTogc3RyaW5nIHwgbnVsbDtcbiAgICBsYW5nTmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhaWxlZEV2ZW50IHtcbiAgdHlwZTogJ3RyYW5zbGF0aW9uTG9hZEZhaWx1cmUnO1xuICBwYXlsb2FkOiBMb2FkZWRFdmVudFsncGF5bG9hZCddO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmdDaGFuZ2VkRXZlbnQge1xuICB0eXBlOiAnbGFuZ0NoYW5nZWQnO1xuICBwYXlsb2FkOiBMb2FkZWRFdmVudFsncGF5bG9hZCddO1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2xvY29FdmVudHMgPSBMb2FkZWRFdmVudCB8IEZhaWxlZEV2ZW50IHwgTGFuZ0NoYW5nZWRFdmVudDtcbmV4cG9ydCB0eXBlIFRyYW5zbGF0aW9uID0gSGFzaE1hcDtcbmV4cG9ydCB0eXBlIFRyYW5zbGF0ZVBhcmFtcyA9IHN0cmluZyB8IHN0cmluZ1tdO1xuZXhwb3J0IHR5cGUgVHJhbnNsYXRlT2JqZWN0UGFyYW1zID1cbiAgfCBUcmFuc2xhdGVQYXJhbXNcbiAgfCBIYXNoTWFwXG4gIHwgTWFwPHN0cmluZywgSGFzaE1hcD47XG5leHBvcnQgaW50ZXJmYWNlIExhbmdEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmdzID0gc3RyaW5nW10gfCBMYW5nRGVmaW5pdGlvbltdO1xuZXhwb3J0IGludGVyZmFjZSBTZXRUcmFuc2xhdGlvbk9wdGlvbnMge1xuICBsYW5nPzogc3RyaW5nO1xuICBtZXJnZT86IGJvb2xlYW47XG4gIGVtaXRDaGFuZ2U/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlclNjb3BlIHtcbiAgc2NvcGU6IHN0cmluZztcbiAgbG9hZGVyPzogSW5saW5lTG9hZGVyO1xuICBhbGlhcz86IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIE9yQXJyYXk8VD4gPSBUIHwgVFtdO1xuZXhwb3J0IHR5cGUgVHJhbnNsb2NvU2NvcGUgPSBQcm92aWRlclNjb3BlIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuZXhwb3J0IHR5cGUgSW5saW5lTG9hZGVyID0gSGFzaE1hcDwoKSA9PiBQcm9taXNlPFRyYW5zbGF0aW9uPj47XG5leHBvcnQgaW50ZXJmYWNlIExvYWRPcHRpb25zIHtcbiAgZmFsbGJhY2tMYW5ncz86IHN0cmluZ1tdIHwgbnVsbDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBmYWlsZWRDb3VudGVyPzogbnVtYmVyO1xuICBpbmxpbmVMb2FkZXI/OiBJbmxpbmVMb2FkZXI7XG59XG4iXX0=
package/lib/helpers.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { ProviderScope, Translation } from './types';
2
- export declare function getValue<T>(obj: T, path: keyof T): any;
3
- export declare function setValue(obj: any, prop: string, val: any): any;
4
- export declare function size(collection: any): number;
5
- export declare function isEmpty(collection: any): boolean;
6
- export declare function isFunction(val: unknown): val is CallableFunction;
7
- export declare function isString(val: unknown): val is string;
8
- export declare function isNumber(val: unknown): val is number;
9
- export declare function isObject(item: unknown): item is Record<string, unknown>;
10
- export declare function coerceArray<T>(value: T | T[]): T[];
11
- export declare function coerceArray<T>(value: T | readonly T[]): readonly T[];
12
- export declare function toCamelCase(str: string): string;
13
- export declare function isBrowser(): boolean;
14
- export declare function isNil(value: unknown): value is null | undefined;
15
- export declare function isDefined(value: unknown): boolean;
16
- export declare function toNumber(value: number | string): number | null;
17
- export declare function isScopeObject(item: any): item is ProviderScope;
18
- export declare function hasInlineLoader(item: any): item is ProviderScope;
19
- export declare function flatten(obj: Translation): Translation;
20
- export declare function unflatten(obj: Translation): Translation;
package/lib/shared.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { OperatorFunction } from 'rxjs';
2
- import { TranslocoService } from './transloco.service';
3
- import { InlineLoader, LoadedEvent, TranslocoScope } from './types';
4
- export declare function getScopeFromLang(lang: string): string;
5
- export declare function getLangFromScope(lang: string): string;
6
- /**
7
- * @example
8
- *
9
- * getPipeValue('todos|scoped', 'scoped') [true, 'todos']
10
- * getPipeValue('en|static', 'static') [true, 'en']
11
- * getPipeValue('en', 'static') [false, 'en']
12
- */
13
- export declare function getPipeValue(str: string | undefined, value: string, char?: string): [boolean, string];
14
- export declare function shouldListenToLangChanges(service: TranslocoService, lang?: string): boolean;
15
- export declare function listenOrNotOperator<T>(listenToLangChange?: boolean): OperatorFunction<T, T>;
16
- export declare function resolveInlineLoader(providerScope: TranslocoScope | null, scope?: string): InlineLoader | undefined;
17
- export declare function getEventPayload(lang: string): LoadedEvent['payload'];
@@ -1 +0,0 @@
1
- {}
@@ -1,59 +0,0 @@
1
- {
2
- "extends": ["@schematics/angular"],
3
- "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
4
- "schematics": {
5
- "ng-add": {
6
- "aliases": ["init"],
7
- "factory": "./ng-add/index",
8
- "schema": "./ng-add/schema.json",
9
- "description": "Add transloco configuration for root module."
10
- },
11
- "component": {
12
- "aliases": ["c"],
13
- "factory": "./component/index",
14
- "schema": "../../../../@schematics/angular/component/schema.json",
15
- "description": "Add component with translation."
16
- },
17
- "migrate": {
18
- "aliases": ["m"],
19
- "factory": "./migrate/index",
20
- "schema": "./migrate/schema.json",
21
- "description": "Run a migration script from @ngx-translate."
22
- },
23
- "scope": {
24
- "aliases": ["s"],
25
- "factory": "./scope/index",
26
- "schema": "./scope/schema.json",
27
- "description": "Add transloco scope."
28
- },
29
- "upgrade": {
30
- "aliases": ["up"],
31
- "factory": "./upgrade/index",
32
- "schema": "./upgrade/schema.json",
33
- "description": "Run an upgrade script."
34
- },
35
- "keys-manager": {
36
- "aliases": ["km"],
37
- "factory": "./keys-manager/index",
38
- "schema": "./keys-manager/schema.json",
39
- "description": "Add Transloco Keys Manager plugin to your project."
40
- },
41
- "join": {
42
- "aliases": ["build"],
43
- "factory": "./join/index",
44
- "schema": "./join/schema.json",
45
- "description": "Join the translation files into one."
46
- },
47
- "split": {
48
- "aliases": ["sp"],
49
- "factory": "./split/index",
50
- "schema": "./split/schema.json",
51
- "description": "split the translated files over the project's translation files."
52
- },
53
- "ng-migrate": {
54
- "factory": "./ng-migrate/index",
55
- "schema": "./ng-migrate/schema.json",
56
- "description": "split the translated files over the project's translation files."
57
- }
58
- }
59
- }
@@ -1,2 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- export default function (options: any): Rule;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const operators_1 = require("rxjs/operators");
6
- function default_1(options) {
7
- // @ts-ignore
8
- return (host, context) => {
9
- const template = `<ng-template transloco let-t>
10
- <h1> {{ t('title') }} </h1>
11
- </ng-template>
12
- `;
13
- const cmpRule = (0, schematics_1.externalSchematic)('@schematics/angular', 'component', options);
14
- const tree$ = cmpRule(host, context).pipe((0, operators_1.tap)((tree) => {
15
- const templatePath = tree.actions.find((action) => !!action.path.match(/component.html/)).path;
16
- tree.overwrite(templatePath, template);
17
- }));
18
- return tree$;
19
- };
20
- }
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/component/index.ts"],"names":[],"mappings":";;AASA,4BAwBC;AAjCD,2DAKoC;AAEpC,8CAAqC;AAErC,mBAAyB,OAAO;IAC9B,aAAa;IACb,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG;;;CAGpB,CAAC;QAEE,MAAM,OAAO,GAAG,IAAA,8BAAiB,EAC/B,qBAAqB,EACrB,WAAW,EACX,OAAO,CACR,CAAC;QACF,MAAM,KAAK,GAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAiC,CAAC,IAAI,CACxE,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YACX,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAClD,CAAC,IAAI,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- import { SchemaOptions } from './schema';
3
- export default function (options: SchemaOptions): Rule;
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const core_1 = require("@angular-devkit/core");
6
- const fs_extra_1 = require("fs-extra");
7
- const types_1 = require("../types");
8
- const transloco_1 = require("../utils/transloco");
9
- function reduceTranslations(host, dirPath, translationJson, lang, key = '') {
10
- const dir = host.getDir(dirPath);
11
- if (!(0, transloco_1.hasFiles)(dir) && !(0, transloco_1.hasSubdirs)(dir))
12
- return translationJson;
13
- dir.subfiles
14
- .filter((fileName) => fileName.includes(`${lang}.json`))
15
- .forEach((fileName) => {
16
- if (translationJson[key]) {
17
- throw new schematics_1.SchematicsException(`key: ${key} already exist in translation file, please rename it and rerun the command.`);
18
- }
19
- translationJson[key] = (0, transloco_1.getJsonFileContent)(fileName, dir);
20
- });
21
- if ((0, transloco_1.hasSubdirs)(dir)) {
22
- dir.subdirs.forEach((subDirName) => {
23
- const subDir = dir.dir(subDirName);
24
- const nestedKey = (0, transloco_1.getTranslationKey)(key, subDirName);
25
- reduceTranslations(host, (0, core_1.normalize)(subDir.path).substr(1), translationJson, lang, nestedKey);
26
- });
27
- }
28
- return translationJson;
29
- }
30
- function deletePrevFiles(host, options) {
31
- if ((0, fs_extra_1.existsSync)(options.outDir)) {
32
- (0, fs_extra_1.removeSync)(options.outDir);
33
- }
34
- }
35
- function jsonBuilder(tree, path, content) {
36
- tree.create(`${path}.json`, JSON.stringify(content, null, 2));
37
- }
38
- function builderFactory(format) {
39
- switch (format) {
40
- case types_1.TranslationFileFormat.JSON:
41
- return jsonBuilder;
42
- case types_1.TranslationFileFormat.PO:
43
- // TODO:
44
- return jsonBuilder;
45
- case types_1.TranslationFileFormat.XLIFF:
46
- // TODO:
47
- return jsonBuilder;
48
- default:
49
- return jsonBuilder;
50
- }
51
- }
52
- function default_1(options) {
53
- return (host) => {
54
- deletePrevFiles(host, options);
55
- const root = (0, transloco_1.getTranslationsRoot)(host, options);
56
- const defaultLang = (0, transloco_1.getDefaultLang)(options);
57
- if (options.includeDefaultLang && !defaultLang) {
58
- throw new schematics_1.SchematicsException(`Please specify the default project's language using --default-Lang or in transloco.config.ts file.`);
59
- }
60
- let rootTranslations = (0, transloco_1.getTranslationFiles)(host, root);
61
- const translationEntryPaths = (0, transloco_1.getTranslationEntryPaths)(host, root);
62
- if (!options.includeDefaultLang) {
63
- rootTranslations = rootTranslations.filter((t) => t.lang !== defaultLang);
64
- }
65
- const output = rootTranslations.map((t) => ({
66
- lang: t.lang,
67
- translation: translationEntryPaths.reduce((acc, entryPath) => {
68
- return reduceTranslations(host, entryPath.path, t.translation, t.lang, entryPath.scope);
69
- }, t.translation),
70
- }));
71
- const treeSource = new schematics_1.EmptyTree();
72
- const builder = builderFactory(options.format);
73
- output.forEach((o) => {
74
- builder(treeSource, `${options.outDir}/${o.lang}`, o.translation);
75
- });
76
- return treeSource;
77
- };
78
- }
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/join/index.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { Schema } from '@schematics/angular/module/schema';
2
- import { TranslationFileFormat } from '../types';
3
- export interface SchemaOptions extends Schema {
4
- /**
5
- * The folder that contain the root translation files.
6
- */
7
- translationPath: string;
8
- /**
9
- * The default language of the project.
10
- */
11
- defaultLang: string;
12
- /**
13
- * Determine rather join also the default language
14
- */
15
- includeDefaultLang: boolean;
16
- /**
17
- * The output directory.
18
- */
19
- outDir: string;
20
- /**
21
- *
22
- */
23
- format?: TranslationFileFormat;
24
- /**
25
- * The root project name.
26
- */
27
- project: string;
28
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/join/schema.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "transloco-join",
4
- "title": "Merge all of the project's translation files into one.",
5
- "type": "object",
6
- "properties": {
7
- "translationPath": {
8
- "type": "string",
9
- "description": "The folder that contain the root translation files.",
10
- "alias": "root"
11
- },
12
- "outDir": {
13
- "type": "string",
14
- "description": "The output directory path.",
15
- "default": "dist-i18n",
16
- "alias": "o"
17
- },
18
- "defaultLang": {
19
- "type": "string",
20
- "description": "The default language of the project"
21
- },
22
- "includeDefaultLang": {
23
- "type": "boolean",
24
- "description": "Determine rather join also the default language",
25
- "default": false
26
- },
27
- "format": {
28
- "description": "The output translation files format.",
29
- "type": "string",
30
- "default": "JSON",
31
- "enum": ["JSON", "xliff", "po"],
32
- "alias": "f"
33
- },
34
- "project": {
35
- "type": "string",
36
- "description": "The root project name.",
37
- "$default": {
38
- "$source": "projectName"
39
- }
40
- }
41
- },
42
- "required": []
43
- }
@@ -1,5 +0,0 @@
1
- import { Rule, Tree } from '@angular-devkit/schematics';
2
- import { SchemaOptions } from './schema';
3
- export declare function updateAngularJson(host: Tree, options: any): void;
4
- export declare function createWebpackConfig(host: Tree): void;
5
- export default function (options: SchemaOptions): Rule;
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateAngularJson = updateAngularJson;
4
- exports.createWebpackConfig = createWebpackConfig;
5
- exports.default = default_1;
6
- const child_process_1 = require("child_process");
7
- const schematics_1 = require("@angular-devkit/schematics");
8
- const config_1 = require("@angular/cli/src/utilities/config");
9
- const rxjs_1 = require("rxjs");
10
- const package_1 = require("../utils/package");
11
- const projects_1 = require("../utils/projects");
12
- const transloco_1 = require("../utils/transloco");
13
- const config_2 = require("../utils/config");
14
- async function installKeysManager() {
15
- const packageManager = await (0, config_1.getConfiguredPackageManager)();
16
- console.log('Installing packages for tooling...');
17
- if (packageManager === 'yarn') {
18
- (0, child_process_1.execSync)('yarn add --dev @jsverse/transloco-keys-manager ngx-build-plus');
19
- }
20
- else {
21
- (0, child_process_1.execSync)('npm install --save-dev @jsverse/transloco-keys-manager ngx-build-plus');
22
- }
23
- }
24
- function updateAngularJson(host, options) {
25
- const angularJson = (0, projects_1.getWorkspace)(host);
26
- if (angularJson) {
27
- const project = angularJson.projects[options.project];
28
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
29
- // @ts-ignore - This is a custom builder type added after installing ngx-build-plus
30
- project.architect.serve.builder = 'ngx-build-plus:dev-server';
31
- }
32
- (0, projects_1.setWorkspace)(host, angularJson);
33
- }
34
- function createWebpackConfig(host) {
35
- const webpackConfig = `const { TranslocoExtractKeysWebpackPlugin } = require('@jsverse/transloco-keys-manager');
36
-
37
- module.exports = {
38
- plugins: [new TranslocoExtractKeysWebpackPlugin()]
39
- };
40
- `;
41
- host.create('webpack-dev.config.js', webpackConfig);
42
- }
43
- function addKeysDetectiveScript(host, strategy) {
44
- if (strategy === 'Both') {
45
- (0, package_1.addScriptToPackageJson)(host, 'start', 'ng serve --extra-webpack-config webpack-dev.config.js');
46
- (0, package_1.addScriptToPackageJson)(host, 'i18n:extract', 'transloco-keys-manager extract');
47
- }
48
- if (strategy === 'CLI') {
49
- (0, package_1.addScriptToPackageJson)(host, 'i18n:extract', 'transloco-keys-manager extract');
50
- }
51
- if (strategy === 'Webpack Plugin') {
52
- (0, package_1.addScriptToPackageJson)(host, 'start', 'ng serve --extra-webpack-config webpack-dev.config.js');
53
- }
54
- (0, package_1.addScriptToPackageJson)(host, 'i18n:find', 'transloco-keys-manager find');
55
- }
56
- function updateTranslocoConfig(host, options) {
57
- const config = (0, config_2.getConfig)() || {};
58
- let shouldUpdate = false;
59
- if (!config.rootTranslationsPath) {
60
- if (!options.translationPath) {
61
- throw new schematics_1.SchematicsException('Please provide the translation root path by using the --translation-path flag');
62
- }
63
- config.rootTranslationsPath = options.translationPath;
64
- shouldUpdate = true;
65
- }
66
- if (!config.langs) {
67
- if (!options.langs) {
68
- throw new schematics_1.SchematicsException('Please provide the available languages either by using --langs or through the "langs" property in transloco.config.ts file');
69
- }
70
- config.langs = options.langs.split(',').map((l) => l.trim());
71
- shouldUpdate = true;
72
- }
73
- if (!config.keysManager) {
74
- config.keysManager = {};
75
- shouldUpdate = true;
76
- }
77
- if (shouldUpdate) {
78
- (0, transloco_1.updateConfig)(host, config);
79
- }
80
- }
81
- function default_1(options) {
82
- // @ts-ignore
83
- return (host) => {
84
- // First install dependencies via command line to get the latest versions.
85
- return (0, rxjs_1.from)(installKeysManager()).pipe((0, rxjs_1.map)(() => {
86
- updateTranslocoConfig(host, options);
87
- if (['Webpack Plugin', 'Both'].includes(options.strategy)) {
88
- createWebpackConfig(host);
89
- updateAngularJson(host, options);
90
- }
91
- addKeysDetectiveScript(host, options.strategy);
92
- return host;
93
- }));
94
- };
95
- }
96
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/keys-manager/index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { Schema } from '@schematics/angular/module/schema';
2
- export interface SchemaOptions extends Schema {
3
- /**
4
- * The strategy which will be used to work with the CLI.
5
- */
6
- strategy: string;
7
- /**
8
- * The folder that contain the root translation files.
9
- */
10
- translationPath: string;
11
- /**
12
- * The languages that being used in the project.
13
- */
14
- langs: string;
15
- /**
16
- * The root project name.
17
- */
18
- project: string;
19
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/keys-manager/schema.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "transloco-keys-manager",
4
- "title": "Adds Transloco Keys Manager to a project",
5
- "type": "object",
6
- "properties": {
7
- "strategy": {
8
- "description": "The strategy which will be used to work with the CLI.",
9
- "x-prompt": "Which strategy do you want to use?",
10
- "type": "string",
11
- "default": "both",
12
- "enum": ["CLI", "Webpack Plugin", "Both"]
13
- },
14
- "langs": {
15
- "type": "string",
16
- "description": "The languages of the project."
17
- },
18
- "translationPath": {
19
- "type": "string",
20
- "description": "The folder that contain the root translation files.",
21
- "default": "src/assets/i18n/",
22
- "alias": "root"
23
- },
24
- "project": {
25
- "type": "string",
26
- "description": "The root project name.",
27
- "$default": {
28
- "$source": "projectName"
29
- }
30
- }
31
- },
32
- "required": []
33
- }
@@ -1,3 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- import { SchemaOptions } from './schema';
3
- export default function (options: SchemaOptions): Rule;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const rxjs_1 = require("rxjs");
6
- const ngx_translate_migration_1 = require("./ngx-translate-migration");
7
- function default_1(options) {
8
- // @ts-ignore
9
- return (tree) => {
10
- if (!options.path) {
11
- throw new schematics_1.SchematicsException(`
12
- Please specify the root source of your project.
13
- (e.g. --path ./src/app)
14
- `);
15
- }
16
- return options.from === 'Angular'
17
- ? (0, schematics_1.schematic)('ng-migrate', options)
18
- : (0, rxjs_1.from)((0, ngx_translate_migration_1.run)(options.path)).pipe((0, rxjs_1.map)(() => tree));
19
- };
20
- }
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/migrate/index.ts"],"names":[],"mappings":";;AAUA,4BAcC;AAxBD,2DAIoC;AACpC,+BAAiC;AAEjC,uEAAgD;AAGhD,mBAAyB,OAAsB;IAC7C,aAAa;IACb,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,gCAAmB,CAAC;;;OAG7B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;YAC/B,CAAC,CAAC,IAAA,sBAAS,EAAC,YAAY,EAAE,OAAO,CAAC;YAClC,CAAC,CAAC,IAAA,WAAI,EAAC,IAAA,6BAAG,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare const PIPE_REGEX = "{{\\s*([^}\\r\\n]*?\\|)\\s*(translate)[^\\r\\n]*?}}";
2
- export declare const PIPE_IN_BINDING_REGEX = "\\]=('|\")\\s*([^}\\r\\n]*?\\|)\\s*(translate)[^\\r\\n]*?\\1";
3
- export declare function run(path: any): Promise<void>;