@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,175 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PIPE_IN_BINDING_REGEX = exports.PIPE_REGEX = void 0;
4
- exports.run = run;
5
- const p = require("node:path");
6
- const ora = require("ora");
7
- const replace_in_file_1 = require("replace-in-file");
8
- const PIPE_CONTENT_REGEX = `\\s*([^}\\r\\n]*?\\|)\\s*(translate)[^\\r\\n]*?`;
9
- exports.PIPE_REGEX = `{{${PIPE_CONTENT_REGEX}}}`;
10
- exports.PIPE_IN_BINDING_REGEX = `\\]=('|")${PIPE_CONTENT_REGEX}\\1`;
11
- // Example: `./src/ng2/**/*.html`;
12
- function run(path) {
13
- console.log('\x1b[4m%s\x1b[0m', '\nStarting migration script');
14
- const dir = p.resolve(process.cwd());
15
- path = p.join(dir, path, '/**/*');
16
- const noSpecFiles = { ignore: `${path}spec.ts`, files: `${path}.ts` };
17
- const [directive, pipe, pipeInBinding] = [
18
- /(translate|\[translate(?:Params)?\])=("|')[^"']*\2/gm,
19
- new RegExp(exports.PIPE_REGEX, 'gm'),
20
- new RegExp(exports.PIPE_IN_BINDING_REGEX, 'gm'),
21
- ].map((regex) => ({
22
- files: `${path}.html`,
23
- from: regex,
24
- to: (match) => match.replace(/translate/g, 'transloco'),
25
- }));
26
- const moduleMultiImport = {
27
- files: `${path}.ts`,
28
- from: /import\s*{((([^,}]*,)+\s*(TranslateModule)\s*(,[^}]*)*)|(([^,{}]*,)*\s*(TranslateModule)\s*,\s*[a-zA-Z0-9]+(,[^}]*)*))\s*}\s*from\s*('|").?ngx-translate(\/[^'"]+)?('|");?/g,
29
- to: (match) => match
30
- .replace('TranslateModule', '')
31
- .replace(/,\s*,/, ',')
32
- .replace(/{\s*,/, '{')
33
- .replace(/,\s*}/, '}')
34
- .concat(`\nimport { TranslocoModule } from '@jsverse/transloco';`),
35
- };
36
- const moduleSingleImport = {
37
- files: `${path}.ts`,
38
- from: /import\s*{\s*(TranslateModule),?\s*}\s*from\s*('|").?ngx-translate(\/[^'"]+)?('|");?/g,
39
- to: `import { TranslocoModule } from '@jsverse/transloco';`,
40
- };
41
- const modules = {
42
- files: `${path}.ts`,
43
- from: /(?<![a-zA-Z])TranslateModule(?![^]*from)(\.(forRoot|forChild)\(({[^}]*})*[^)]*\))?/g,
44
- to: 'TranslocoModule',
45
- };
46
- const serviceMultiImport = {
47
- files: `${path}.ts`,
48
- from: /import\s*{((([^,}]*,)+\s*(TranslateService)\s*(,[^}]*)*)|(([^,{}]*,)*\s*(TranslateService)\s*,\s*[a-zA-Z0-9]+(,[^}]*)*))\s*}\s*from\s*('|").?ngx-translate(\/[^'"]+)?('|");?/g,
49
- to: (match) => match
50
- .replace('TranslateService', '')
51
- .replace(/,\s*,/, ',')
52
- .replace(/{\s*,/, '{')
53
- .replace(/,\s*}/, '}')
54
- .concat(`\nimport { TranslocoService } from '@jsverse/transloco';`),
55
- };
56
- const [serviceSingleImport, pipeImport] = [
57
- /import\s*{\s*(TranslateService),?\s*}\s*from\s*('|").?ngx-translate(\/[^'"]+)?('|");?/g,
58
- /import\s*{\s*(TranslatePipe),?\s*}\s*from\s*('|")[^'"]+('|");?/g,
59
- ].map((regex) => ({
60
- ...noSpecFiles,
61
- from: regex,
62
- to: `import { TranslocoService } from '@jsverse/transloco';`,
63
- }));
64
- const constructorInjection = {
65
- ...noSpecFiles,
66
- from: /(?:private|protected|public)\s+(.*?)\s*:\s*(?:TranslateService|TranslatePipe\s*(?:,|\)))/g,
67
- to: (match) => match.replace(/TranslateService|TranslatePipe/g, 'TranslocoService'),
68
- };
69
- const serviceUsage = {
70
- ...noSpecFiles,
71
- from: /(?=([^]+(?:private|protected|public)\s+([^,:()]+)\s*:\s*(?:TranslocoService\s*(?:,|\)))))\1[^]*/gm,
72
- to: (match, _, serviceName) => {
73
- const sanitizedName = serviceName
74
- .split('')
75
- .map((char) => (['$', '^'].includes(char) ? `\\${char}` : char))
76
- .join('');
77
- const functionsMap = {
78
- instant: 'translate',
79
- transform: 'translate',
80
- get: 'selectTranslate',
81
- stream: 'selectTranslate',
82
- use: 'setActiveLang',
83
- set: 'setTranslation',
84
- };
85
- const propsMap = {
86
- currentLang: 'getActiveLang()',
87
- onLangChange: 'langChanges$',
88
- };
89
- const serviceCallRgx = ({ map, func }) => new RegExp(`(?:(?:\\s*|this\\.)${sanitizedName})(?:\\s*\\t*\\r*\\n*)*\\.(?:\\s*\\t*\\r*\\n*)*(${getTarget(map)})[\\r\\t\\n\\s]*${func ? '\\(' : '(?!\\()'}`, 'g');
90
- const getTarget = (t) => Object.keys(t).join('|');
91
- return [
92
- { func: true, map: functionsMap },
93
- { func: false, map: propsMap },
94
- ].reduce((acc, curr) => {
95
- return acc.replace(serviceCallRgx(curr), (str) => str.replace(new RegExp(getTarget(curr.map)), (func) => curr.map[func]));
96
- }, match);
97
- },
98
- };
99
- const specs = {
100
- files: `${path}spec.ts`,
101
- from: /TranslateService|TranslatePipe/g,
102
- to: 'TranslocoService',
103
- };
104
- const htmlReplacements = [
105
- {
106
- matchers: [directive],
107
- step: 'directives',
108
- },
109
- {
110
- matchers: [pipe, pipeInBinding],
111
- step: 'pipes',
112
- },
113
- ];
114
- const tsReplacements = [
115
- {
116
- matchers: [modules, moduleMultiImport, moduleSingleImport],
117
- step: 'modules',
118
- },
119
- {
120
- matchers: [serviceMultiImport, serviceSingleImport, pipeImport],
121
- step: 'service imports',
122
- },
123
- {
124
- matchers: [constructorInjection],
125
- step: 'constructor injections',
126
- },
127
- {
128
- matchers: [serviceUsage],
129
- step: 'service usage',
130
- },
131
- {
132
- matchers: [specs],
133
- step: 'specs',
134
- },
135
- ];
136
- async function migrate(matchersArr, filesType) {
137
- console.log(`\nMigrating ${filesType} files 📜`);
138
- let spinner;
139
- const isWindows = process.platform === 'win32';
140
- for (let i = 0; i < matchersArr.length; i++) {
141
- const { step, matchers } = matchersArr[i];
142
- const msg = `Step ${i + 1}/${matchersArr.length}: Migrating ${step}`;
143
- spinner = ora().start(msg);
144
- const noFilesFound = [];
145
- for (const matcher of matchers) {
146
- try {
147
- await (0, replace_in_file_1.replaceInFile)({
148
- ...matcher,
149
- glob: {
150
- windowsPathsNoEscape: isWindows,
151
- },
152
- });
153
- }
154
- catch (e) {
155
- if (e.message.includes('No files match the pattern')) {
156
- noFilesFound.push(e.message);
157
- }
158
- else {
159
- throw e;
160
- }
161
- }
162
- }
163
- spinner.succeed(msg);
164
- noFilesFound.forEach((pattern) => console.log('\x1b[33m%s\x1b[0m', `⚠️ ${pattern}`));
165
- }
166
- }
167
- return migrate(htmlReplacements, 'HTML')
168
- .then(() => migrate(tsReplacements, 'TS'))
169
- .then(() => {
170
- console.log('\n 🌵 Done! 🌵');
171
- console.log('Welcome to a better translation experience 🌐');
172
- console.log('\nFor more information about this script please visit 👉 https://jsverse.github.io/transloco/docs/migration/ngx\n');
173
- });
174
- }
175
- //# sourceMappingURL=ngx-translate-migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-translate-migration.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/migrate/ngx-translate-migration.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface SchemaOptions {
2
- /**
3
- * The path to the source root directory.
4
- */
5
- path: string;
6
- /**
7
- * Where is the migration from.
8
- */
9
- from: 'Angular' | 'NgxTranslate';
10
- }
@@ -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/migrate/schema.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "transloco-migrate",
4
- "title": "Run a migration script from @ngx-translate.",
5
- "type": "object",
6
- "properties": {
7
- "from": {
8
- "description": "Where is the migration from",
9
- "x-prompt": "✍ Which library did you use?",
10
- "enum": ["NgxTranslate", "Angular"],
11
- "default": "NgxTranslate",
12
- "type": "string"
13
- },
14
- "path": {
15
- "description": "The path to the source root directory.",
16
- "x-prompt": "✍ Which folder will contain the translation files?",
17
- "type": "string",
18
- "default": "./src/app",
19
- "alias": "p"
20
- }
21
- },
22
- "required": []
23
- }
@@ -1,4 +0,0 @@
1
- export declare function createLoaderFile({ ssr, loaderPath }: {
2
- ssr: any;
3
- loaderPath: any;
4
- }): import("@angular-devkit/schematics").Source;
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-loader.gen.js","sourceRoot":"","sources":["../../../../../../../libs/transloco-schematics/src/ng-add/generators/http-loader.gen.ts"],"names":[],"mappings":";;AAEA,4CAQC;AAVD,2DAAwE;AAExE,SAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE;IAClD,OAAO,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,0BAA0B,CAAC,EAAE;QAC5C,IAAA,qBAAQ,EAAC;YACP,EAAE,EAAE,IAAI;YACR,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;SAClD,CAAC;QACF,IAAA,iBAAI,EAAC,GAAG,EAAE,UAAU,CAAC;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-module.gen.js","sourceRoot":"","sources":["../../../../../../../libs/transloco-schematics/src/ng-add/generators/root-module.gen.ts"],"names":[],"mappings":";;AAaA,sDAwCC;AArDD,kCAAkC;AAElC,2DAOoC;AAEpC,6CAAkD;AAElD,SAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,GAAG,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,IAAI,GAQL;IACC,MAAM,OAAO,GAAG,IAAI;SACjB,QAAQ,CAAC,UAAU,EAAE,GAAG,UAAU,2BAA2B,CAAC;SAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAC/B,GAAG,UAAU,8BAA8B,CAC5C,CAAC;IACF,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC;IAEzE,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IAED,OAAO,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,0BAA0B,CAAC,EAAE;QAC5C,IAAA,qBAAQ,EAAC;YACP,EAAE,EAAE,IAAI;YACR,aAAa,EAAb,qBAAa;YACb,KAAK;YACL,KAAK;YACL,SAAS,EAAE,GAAG,IAAI,aAAa;YAC/B,OAAO;YACP,QAAQ;SACT,CAAC;QACF,IAAA,iBAAI,EAAC,GAAG,EAAE,UAAU,CAAC;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Tree } from '@angular-devkit/schematics';
2
- export declare function typescriptTranslationFileCreator(source: Tree, lang: string): void;
3
- export declare function jsonTranslationFileCreator(source: Tree, lang: string): void;
4
- export declare function createTranslateFiles(langs: string[], creator: (source: Tree, lang: string) => void, path: any): import("@angular-devkit/schematics").Source;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typescriptTranslationFileCreator = typescriptTranslationFileCreator;
4
- exports.jsonTranslationFileCreator = jsonTranslationFileCreator;
5
- exports.createTranslateFiles = createTranslateFiles;
6
- const schematics_1 = require("@angular-devkit/schematics");
7
- function typescriptTranslationFileCreator(source, lang) {
8
- source.create(`${lang}.ts`, `export default {};
9
- `);
10
- }
11
- function jsonTranslationFileCreator(source, lang) {
12
- source.create(`${lang}.json`, `{}
13
- `);
14
- }
15
- function createTranslateFiles(langs, creator, path) {
16
- const treeSource = new schematics_1.EmptyTree();
17
- langs.forEach((lang) => {
18
- creator(treeSource, lang);
19
- });
20
- return (0, schematics_1.apply)((0, schematics_1.source)(treeSource), [(0, schematics_1.move)('/', path)]);
21
- }
22
- //# sourceMappingURL=translation-files.gen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translation-files.gen.js","sourceRoot":"","sources":["../../../../../../../libs/transloco-schematics/src/ng-add/generators/translation-files.gen.ts"],"names":[],"mappings":";;AAQA,4EAMC;AAED,gEAMC;AAED,oDAWC;AAnCD,2DAMoC;AAEpC,SAAgB,gCAAgC,CAAC,MAAY,EAAE,IAAY;IACzE,MAAM,CAAC,MAAM,CACX,GAAG,IAAI,KAAK,EACZ;CACH,CACE,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,MAAY,EAAE,IAAY;IACnE,MAAM,CAAC,MAAM,CACX,GAAG,IAAI,OAAO,EACd;CACH,CACE,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAe,EACf,OAA6C,EAC7C,IAAI;IAEJ,MAAM,UAAU,GAAG,IAAI,sBAAS,EAAE,CAAC;IACnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,kBAAK,EAAC,IAAA,mBAAM,EAAC,UAAU,CAAC,EAAE,CAAC,IAAA,iBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,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 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/ng-add/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TranslationFileTypes = exports.Loaders = void 0;
4
- var Loaders;
5
- (function (Loaders) {
6
- Loaders["Http"] = "Http";
7
- Loaders["Webpack"] = "Webpack";
8
- })(Loaders || (exports.Loaders = Loaders = {}));
9
- var TranslationFileTypes;
10
- (function (TranslationFileTypes) {
11
- TranslationFileTypes["Typescript"] = "Typescript";
12
- TranslationFileTypes["JSON"] = "JSON";
13
- })(TranslationFileTypes || (exports.TranslationFileTypes = TranslationFileTypes = {}));
14
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/ng-add/schema.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8BAAmB,CAAA;AACrB,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,qCAAa,CAAA;AACf,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const process_1 = require("process");
5
- const ng_migrate_1 = require("./ng-migrate");
6
- function default_1(options) {
7
- return () => {
8
- const langs = options.langs.split(',').map((l) => l.trim());
9
- (0, ng_migrate_1.run)({ input: options.path, output: options.translationFilesPath, langs });
10
- // prevent "nothing to be done".
11
- (0, process_1.exit)();
12
- };
13
- }
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/ng-migrate/index.ts"],"names":[],"mappings":";;AAOA,4BAOC;AAdD,qCAA+B;AAI/B,6CAAmC;AAGnC,mBAAyB,OAAsB;IAC7C,OAAO,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAA,gBAAG,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,gCAAgC;QAChC,IAAA,cAAI,GAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare function run({ input, output, langs }: {
2
- input: any;
3
- output: any;
4
- langs: any;
5
- }): void;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.run = run;
4
- const kebabCase = require("lodash.kebabcase");
5
- const glob_1 = require("glob");
6
- const fs_extra_1 = require("fs-extra");
7
- const regex = /<([\w-]*)\s*(?=[^>]*i18n)[^>]*i18n(?:(?:=("|')(?<attrValue>[^>]*?)\2)|(?:-(?<propName>[\w-]*)[^>]*\4=("|')(?<propValue>[^>]*?)\5))?[^>]*(?:>(?<innerText>[^]*?)<\/\1)?/g;
8
- function run({ input, output, langs }) {
9
- const files = (0, glob_1.sync)(`${process.cwd()}/${input}/**/*.html`);
10
- let translation = {};
11
- for (const filePath of files) {
12
- const tpl = (0, fs_extra_1.readFileSync)(filePath, { encoding: 'utf-8' });
13
- translation = { ...translation, ...getTranslation(tpl) };
14
- const newTpl = getNewTemplate(tpl);
15
- (0, fs_extra_1.outputFileSync)(filePath, newTpl);
16
- }
17
- for (const lang of langs) {
18
- const sorted = Object.keys(translation)
19
- .sort()
20
- .reduce((acc, key) => {
21
- acc[key] = translation[key];
22
- return acc;
23
- }, {});
24
- (0, fs_extra_1.outputJsonSync)(`${process.cwd()}/${output}/${lang}.json`, sorted, {
25
- spaces: 2,
26
- });
27
- }
28
- console.log('\n 🌵 Done! 🌵');
29
- console.log('Welcome to a better translation experience 🌐');
30
- console.log('\nFor more information about this script please visit 👉 https://jsverse.github.io/transloco/docs/migration/angular\n');
31
- }
32
- function resolveKey(attrValue, value) {
33
- let key = value;
34
- if (!attrValue) {
35
- return kebabCase(value);
36
- }
37
- if (attrValue) {
38
- const splitCustomId = attrValue.split('@@');
39
- const hasCustomId = splitCustomId.length === 2;
40
- key = hasCustomId ? splitCustomId[1] : key;
41
- }
42
- key = kebabCase(key);
43
- return key;
44
- }
45
- function getTranslation(template) {
46
- let result = regex.exec(template);
47
- const translation = {};
48
- while (result) {
49
- const { attrValue, innerText, propValue } = result.groups;
50
- let context;
51
- let comment;
52
- let keyValue = propValue ? propValue : innerText;
53
- let key = keyValue;
54
- if (attrValue) {
55
- const splitCustomId = attrValue.split('@@');
56
- const hasCustomId = splitCustomId.length === 2;
57
- key = hasCustomId ? splitCustomId[1] : key;
58
- const splitContextDescription = attrValue.split('|');
59
- // we have context
60
- if (splitContextDescription.length === 2) {
61
- context = splitContextDescription[0];
62
- comment = splitContextDescription[1].split('@@')[0];
63
- }
64
- else {
65
- if (splitContextDescription[0].startsWith('@@') === false) {
66
- comment = attrValue.split('@@')[0];
67
- }
68
- }
69
- }
70
- key = kebabCase(key);
71
- keyValue = keyValue.trim().replace(/(\r\n|\n|\r)/gm, '');
72
- if (context) {
73
- translation[context] = translation[context] || {};
74
- translation[context][key] = keyValue;
75
- if (comment) {
76
- translation[context][`${key}.comment`] = comment;
77
- }
78
- }
79
- else {
80
- translation[key] = keyValue;
81
- if (comment) {
82
- translation[`${key}.comment`] = comment;
83
- }
84
- }
85
- result = regex.exec(template);
86
- }
87
- return translation;
88
- }
89
- function getNewTemplate(template) {
90
- return template.replace(regex, function (match, tag, mark, attrValue, propName, propMark, propValue, innerText) {
91
- let replace = ' i18n';
92
- const key = resolveKey(attrValue, propValue || innerText);
93
- let value = innerText;
94
- const newValue = `{{ '${key}' | transloco }}`;
95
- if (attrValue) {
96
- replace = ` i18n=${mark}${attrValue}${mark}`;
97
- }
98
- if (propName) {
99
- replace = ` i18n-${propName}`;
100
- value = propValue;
101
- }
102
- return match.replace(replace, '').replace(value, newValue);
103
- });
104
- }
105
- //# sourceMappingURL=ng-migrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ng-migrate.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/ng-migrate/ng-migrate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export interface SchemaOptions {
2
- /**
3
- * The path to the source root directory.
4
- */
5
- path: string;
6
- /**
7
- * The location of the translation files.
8
- */
9
- translationFilesPath: string;
10
- /**
11
- * The languages of the project.
12
- */
13
- langs: string;
14
- }
@@ -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/ng-migrate/schema.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "transloco-ng-migrate",
4
- "title": "Run a migration script from Angular i18n",
5
- "type": "object",
6
- "properties": {
7
- "langs": {
8
- "description": "The languages of the project.",
9
- "x-prompt": "Which languages do you use?",
10
- "type": "string",
11
- "default": "en, es"
12
- },
13
- "translationFilesPath": {
14
- "description": "The location of the translation files.",
15
- "x-prompt": "Which folder will contain the translation files?",
16
- "type": "string",
17
- "default": "src/assets/i18n"
18
- },
19
- "path": {
20
- "description": "The path to the source root directory.",
21
- "x-prompt": "Which folder will contain the translation files?",
22
- "type": "string",
23
- "default": "./src/app"
24
- }
25
- },
26
- "required": []
27
- }
@@ -1,6 +0,0 @@
1
- import { TranslocoGlobalConfig } from '@jsverse/transloco-utils';
2
- export declare const PROJECT_NAME = "transloco";
3
- export declare const NPM_SCOPE = "@jsverse";
4
- export declare const LIB_NAME = "@jsverse/transloco";
5
- export declare const CONFIG_FILE = "transloco.config.ts";
6
- export declare function generateConfigFile(config: TranslocoGlobalConfig): string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"schematics.utils.js","sourceRoot":"","sources":["../../../../../libs/transloco-schematics/src/schematics.utils.ts"],"names":[],"mappings":";;;AASA,gDAMC;AAfD,yCAAoC;AAIvB,QAAA,YAAY,GAAG,WAAW,CAAC;AAC3B,QAAA,SAAS,GAAG,UAAU,CAAC;AACvB,QAAA,QAAQ,GAAG,GAAG,iBAAS,YAAY,CAAC;AACpC,QAAA,WAAW,GAAG,qBAAqB,CAAC;AAEjD,SAAgB,kBAAkB,CAAC,MAA6B;IAC9D,OAAO;;wCAE+B,IAAA,mBAAO,EAAC,MAAM,CAAC;;uBAEhC,CAAC;AACxB,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,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const node_path_1 = require("node:path");
5
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
6
- const schematics_1 = require("@angular-devkit/schematics");
7
- const typescript_1 = require("typescript");
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- const util_1 = require("@schematics/angular/utility/standalone/util");
10
- const schematics_utils_1 = require("../schematics.utils");
11
- const array_1 = require("../utils/array");
12
- const find_module_1 = require("../utils/find-module");
13
- const projects_1 = require("../utils/projects");
14
- const translations_1 = require("../utils/translations");
15
- const config_1 = require("../utils/config");
16
- function getProviderValue(options) {
17
- const name = (0, strings_1.dasherize)(options.name);
18
- if (!options.inlineLoader)
19
- return `'${name}'`;
20
- return `{ scope: '${name}', loader }`;
21
- }
22
- function addScopeToModule(tree, modulePath, options) {
23
- const module = tree.read(modulePath);
24
- const moduleSource = (0, typescript_1.createSourceFile)(modulePath, module.toString('utf-8'), typescript_1.ScriptTarget.Latest, true);
25
- const provider = `provideTranslocoScope(${getProviderValue(options)})`;
26
- const changes = [];
27
- changes.push((0, ast_utils_1.addProviderToModule)(moduleSource, modulePath, provider, schematics_utils_1.LIB_NAME)[0]);
28
- changes.push((0, ast_utils_1.addImportToModule)(moduleSource, modulePath, 'TranslocoModule', schematics_utils_1.LIB_NAME)[0]);
29
- changes.push((0, ast_utils_1.insertImport)(moduleSource, modulePath, 'provideTranslocoScope, TranslocoModule', schematics_utils_1.LIB_NAME));
30
- if (options.inlineLoader) {
31
- changes.push((0, ast_utils_1.insertImport)(moduleSource, modulePath, 'loader', './transloco.loader'));
32
- }
33
- (0, util_1.applyChangesToFile)(tree, modulePath, changes);
34
- }
35
- function getTranslationFilesFromAssets(host, translationsPath) {
36
- const langFiles = host.root.dir(translationsPath).subfiles;
37
- return Array.from(new Set(langFiles.map((file) => file.split('.')[0])));
38
- }
39
- function getTranslationFiles(options, host, translationsPath) {
40
- return (options.langs ||
41
- (0, config_1.getConfig)().langs ||
42
- getTranslationFilesFromAssets(host, translationsPath));
43
- }
44
- function addInlineLoader(tree, modulePath, name, langs) {
45
- const loader = `export const loader = [${(0, array_1.stringifyList)((0, array_1.coerceArray)(langs))}].reduce((acc: any, lang: string) => {
46
- acc[lang] = () => import(\`./i18n/\${lang}.json\`);
47
- return acc;
48
- }, {});
49
-
50
- `;
51
- const path = (0, node_path_1.join)((0, node_path_1.dirname)(modulePath), 'transloco.loader.ts');
52
- tree.create(path, loader);
53
- }
54
- function createTranslationFiles(options, rootPath, modulePath, host) {
55
- if (options.skipCreation) {
56
- return (0, schematics_1.empty)();
57
- }
58
- const defaultPath = options.inlineLoader
59
- ? (0, node_path_1.join)((0, node_path_1.dirname)(modulePath), 'i18n')
60
- : (0, node_path_1.join)(rootPath, 'assets', 'i18n', (0, strings_1.dasherize)(options.name));
61
- const translationsPath = options.translationPath
62
- ? (0, node_path_1.join)(rootPath, options.translationPath)
63
- : defaultPath;
64
- return (0, translations_1.createTranslateFilesFromOptions)(host, options, translationsPath);
65
- }
66
- function extractModuleOptions({ path, project, routing, flat, commonModule, }) {
67
- return { path, project, routing, flat, commonModule };
68
- }
69
- function default_1(options) {
70
- return (host, context) => {
71
- const project = (0, projects_1.getProject)(host, options.project);
72
- const rootPath = project?.sourceRoot ?? 'src';
73
- const assetsPath = (0, node_path_1.join)(rootPath, 'assets', 'i18n');
74
- options.langs = getTranslationFiles(options, host, assetsPath);
75
- if (options.module) {
76
- const projectPath = (0, projects_1.getProjectPath)(host, project, options);
77
- const modulePath = (0, find_module_1.findModuleFromOptions)(host, options, projectPath);
78
- if (options.inlineLoader) {
79
- addInlineLoader(host, modulePath, options.name, options.langs);
80
- }
81
- if (modulePath) {
82
- addScopeToModule(host, modulePath, options);
83
- return (0, schematics_1.mergeWith)(createTranslationFiles(options, rootPath, modulePath, host))(host, context);
84
- }
85
- }
86
- return (0, schematics_1.chain)([
87
- (0, schematics_1.externalSchematic)('@schematics/angular', 'module', extractModuleOptions(options)),
88
- (tree) => {
89
- const modulePath = tree.actions.find((action) => !!action.path.match(/\.module\.ts/) &&
90
- !action.path.match(/-routing\.module\.ts/)).path;
91
- addScopeToModule(tree, modulePath, options);
92
- if (options.inlineLoader) {
93
- addInlineLoader(tree, modulePath, options.name, options.langs);
94
- }
95
- const translationRule = createTranslationFiles(options, rootPath, modulePath, host);
96
- return (0, schematics_1.mergeWith)(translationRule);
97
- },
98
- ]);
99
- };
100
- }
101
- //# sourceMappingURL=index.js.map