@o3r/transloco 0.0.0 → 14.5.0-prerelease.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 (122) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +64 -0
  3. package/builders/helpers/localization-generator.d.ts +126 -0
  4. package/builders/helpers/localization-generator.d.ts.map +1 -0
  5. package/builders/helpers/localization-generator.js +303 -0
  6. package/builders/helpers/localization-generator.js.map +1 -0
  7. package/builders/i18n/index.d.ts +7 -0
  8. package/builders/i18n/index.d.ts.map +1 -0
  9. package/builders/i18n/index.js +39 -0
  10. package/builders/i18n/index.js.map +1 -0
  11. package/builders/i18n/schema.d.ts +30 -0
  12. package/builders/i18n/schema.d.ts.map +1 -0
  13. package/builders/i18n/schema.js +3 -0
  14. package/builders/i18n/schema.js.map +1 -0
  15. package/builders/i18n/schema.json +35 -0
  16. package/builders/localization/index.d.ts +23 -0
  17. package/builders/localization/index.d.ts.map +1 -0
  18. package/builders/localization/index.js +416 -0
  19. package/builders/localization/index.js.map +1 -0
  20. package/builders/localization/schema.d.ts +29 -0
  21. package/builders/localization/schema.d.ts.map +1 -0
  22. package/builders/localization/schema.js +3 -0
  23. package/builders/localization/schema.js.map +1 -0
  24. package/builders/localization/schema.json +78 -0
  25. package/builders/localization-extractor/index.d.ts +8 -0
  26. package/builders/localization-extractor/index.d.ts.map +1 -0
  27. package/builders/localization-extractor/index.js +181 -0
  28. package/builders/localization-extractor/index.js.map +1 -0
  29. package/builders/localization-extractor/schema.d.ts +25 -0
  30. package/builders/localization-extractor/schema.d.ts.map +1 -0
  31. package/builders/localization-extractor/schema.js +3 -0
  32. package/builders/localization-extractor/schema.js.map +1 -0
  33. package/builders/localization-extractor/schema.json +62 -0
  34. package/builders/localization-extractor/validations.d.ts +17 -0
  35. package/builders/localization-extractor/validations.d.ts.map +1 -0
  36. package/builders/localization-extractor/validations.js +54 -0
  37. package/builders/localization-extractor/validations.js.map +1 -0
  38. package/builders/metadata-check/helpers/index.d.ts +2 -0
  39. package/builders/metadata-check/helpers/index.d.ts.map +1 -0
  40. package/builders/metadata-check/helpers/index.js +5 -0
  41. package/builders/metadata-check/helpers/index.js.map +1 -0
  42. package/builders/metadata-check/helpers/localization-metadata-comparison-helper.d.ts +14 -0
  43. package/builders/metadata-check/helpers/localization-metadata-comparison-helper.d.ts.map +1 -0
  44. package/builders/metadata-check/helpers/localization-metadata-comparison-helper.js +34 -0
  45. package/builders/metadata-check/helpers/localization-metadata-comparison-helper.js.map +1 -0
  46. package/builders/metadata-check/index.d.ts +7 -0
  47. package/builders/metadata-check/index.d.ts.map +1 -0
  48. package/builders/metadata-check/index.js +12 -0
  49. package/builders/metadata-check/index.js.map +1 -0
  50. package/builders/metadata-check/schema.d.ts +5 -0
  51. package/builders/metadata-check/schema.d.ts.map +1 -0
  52. package/builders/metadata-check/schema.js +3 -0
  53. package/builders/metadata-check/schema.js.map +1 -0
  54. package/builders/metadata-check/schema.json +46 -0
  55. package/builders/package.json +3 -0
  56. package/builders.json +25 -0
  57. package/collection.json +29 -0
  58. package/fesm2022/o3r-transloco-rules-engine.mjs +57 -0
  59. package/fesm2022/o3r-transloco-rules-engine.mjs.map +1 -0
  60. package/fesm2022/o3r-transloco.mjs +1177 -0
  61. package/fesm2022/o3r-transloco.mjs.map +1 -0
  62. package/package.json +190 -2
  63. package/rules-engine/package.json +4 -0
  64. package/schemas/localization.metadata.schema.json +84 -0
  65. package/schemas/localization.schema.json +116 -0
  66. package/schemas/rules-engine.localization-action.schema.json +26 -0
  67. package/schematics/add-localization-key/index.d.ts +13 -0
  68. package/schematics/add-localization-key/index.d.ts.map +1 -0
  69. package/schematics/add-localization-key/index.js +227 -0
  70. package/schematics/add-localization-key/index.js.map +1 -0
  71. package/schematics/add-localization-key/schema.d.ts +20 -0
  72. package/schematics/add-localization-key/schema.d.ts.map +1 -0
  73. package/schematics/add-localization-key/schema.js +3 -0
  74. package/schematics/add-localization-key/schema.js.map +1 -0
  75. package/schematics/add-localization-key/schema.json +49 -0
  76. package/schematics/cms-adapter/index.d.ts +8 -0
  77. package/schematics/cms-adapter/index.d.ts.map +1 -0
  78. package/schematics/cms-adapter/index.js +81 -0
  79. package/schematics/cms-adapter/index.js.map +1 -0
  80. package/schematics/localization-base/index.d.ts +14 -0
  81. package/schematics/localization-base/index.d.ts.map +1 -0
  82. package/schematics/localization-base/index.js +359 -0
  83. package/schematics/localization-base/index.js.map +1 -0
  84. package/schematics/localization-base/templates/src/assets/locales/__empty__.gitkeep +0 -0
  85. package/schematics/localization-to-component/index.d.ts +13 -0
  86. package/schematics/localization-to-component/index.d.ts.map +1 -0
  87. package/schematics/localization-to-component/index.js +264 -0
  88. package/schematics/localization-to-component/index.js.map +1 -0
  89. package/schematics/localization-to-component/schema.d.ts +12 -0
  90. package/schematics/localization-to-component/schema.d.ts.map +1 -0
  91. package/schematics/localization-to-component/schema.js +3 -0
  92. package/schematics/localization-to-component/schema.js.map +1 -0
  93. package/schematics/localization-to-component/schema.json +31 -0
  94. package/schematics/localization-to-component/templates/__name__-localization.json +3 -0
  95. package/schematics/localization-to-component/templates/__name__-translation.ts.template +5 -0
  96. package/schematics/migration-localization-to-transloco/index.d.ts +8 -0
  97. package/schematics/migration-localization-to-transloco/index.d.ts.map +1 -0
  98. package/schematics/migration-localization-to-transloco/index.js +194 -0
  99. package/schematics/migration-localization-to-transloco/index.js.map +1 -0
  100. package/schematics/migration-localization-to-transloco/schema.d.ts +15 -0
  101. package/schematics/migration-localization-to-transloco/schema.d.ts.map +1 -0
  102. package/schematics/migration-localization-to-transloco/schema.js +3 -0
  103. package/schematics/migration-localization-to-transloco/schema.js.map +1 -0
  104. package/schematics/migration-localization-to-transloco/schema.json +30 -0
  105. package/schematics/ng-add/helpers/devtools-registration.d.ts +8 -0
  106. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
  107. package/schematics/ng-add/helpers/devtools-registration.js +37 -0
  108. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  109. package/schematics/ng-add/index.d.ts +8 -0
  110. package/schematics/ng-add/index.d.ts.map +1 -0
  111. package/schematics/ng-add/index.js +62 -0
  112. package/schematics/ng-add/index.js.map +1 -0
  113. package/schematics/ng-add/schema.d.ts +11 -0
  114. package/schematics/ng-add/schema.d.ts.map +1 -0
  115. package/schematics/ng-add/schema.js +3 -0
  116. package/schematics/ng-add/schema.js.map +1 -0
  117. package/schematics/ng-add/schema.json +38 -0
  118. package/schematics/package.json +3 -0
  119. package/types/o3r-transloco-rules-engine.d.ts +40 -0
  120. package/types/o3r-transloco-rules-engine.d.ts.map +1 -0
  121. package/types/o3r-transloco.d.ts +804 -0
  122. package/types/o3r-transloco.d.ts.map +1 -0
@@ -0,0 +1,359 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateI18n = void 0;
4
+ exports.updateLocalization = updateLocalization;
5
+ const path = require("node:path");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ const schematics_2 = require("@o3r/schematics");
8
+ const utility_1 = require("@schematics/angular/utility");
9
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
+ const change_1 = require("@schematics/angular/utility/change");
11
+ const ts = require("typescript");
12
+ /**
13
+ * Add Otter localization support
14
+ * @param options {@link RuleFactory.options}
15
+ * @param options.projectName
16
+ * @param options.enableMessageFormat
17
+ * @param rootPath {@link RuleFactory.rootPath}
18
+ */
19
+ function updateLocalization(options, rootPath) {
20
+ const mainAssetsFolder = 'src/assets';
21
+ const devResourcesFolder = 'dev-resources';
22
+ /**
23
+ * Generate locales folder
24
+ * @param tree
25
+ */
26
+ const generateLocalesFolder = (tree) => {
27
+ const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
28
+ const projectType = workspaceProject?.projectType || 'application';
29
+ if (projectType === 'library') {
30
+ return tree;
31
+ }
32
+ const workingDirectory = (options.projectName && (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName]?.root) || '.';
33
+ return (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)((0, schematics_2.getTemplateFolder)(rootPath, __dirname)), [
34
+ (0, schematics_1.template)({ empty: '' }),
35
+ (0, schematics_1.move)(workingDirectory)
36
+ ]), schematics_1.MergeStrategy.Overwrite);
37
+ };
38
+ /**
39
+ * Add translation generation builders into angular.json
40
+ * @param tree
41
+ * @param context
42
+ */
43
+ const updateAngularJson = (tree, context) => {
44
+ const workspace = (0, schematics_2.getWorkspaceConfig)(tree);
45
+ const projectName = options.projectName;
46
+ const workspaceProject = options.projectName ? workspace?.projects[options.projectName] : undefined;
47
+ const projectRoot = path.posix.join(workspaceProject?.root || '');
48
+ const distFolder = (workspaceProject
49
+ && workspaceProject.architect
50
+ && workspaceProject.architect.build
51
+ && workspaceProject.architect.build.options
52
+ && ((workspaceProject.architect.build.configurations
53
+ && workspaceProject.architect.build.configurations.production
54
+ && workspaceProject.architect.build.configurations.production.outputPath) || workspaceProject.architect.build.options.outputPath)) || './dist';
55
+ // exit if not an application
56
+ if (!workspace || !projectName || !workspaceProject || workspaceProject.projectType === 'library') {
57
+ context.logger.debug('No application project found to add translation extraction');
58
+ return tree;
59
+ }
60
+ workspaceProject.architect ||= {};
61
+ const projectBasePath = workspaceProject.root.replace(/[/\\]$/, '');
62
+ workspaceProject.architect['generate-translations'] ||= {
63
+ builder: '@o3r/transloco:localization',
64
+ options: {
65
+ browserTarget: `${projectName}:build`,
66
+ localizationExtracterTarget: `${projectName}:extract-translations`,
67
+ locales: [
68
+ 'en-GB'
69
+ ],
70
+ assets: [`${projectBasePath}/${mainAssetsFolder}/locales`],
71
+ outputPath: `${projectBasePath}/${devResourcesFolder}/localizations`
72
+ },
73
+ configurations: {
74
+ production: {
75
+ outputPath: `${projectBasePath}/${distFolder}/localizations`
76
+ }
77
+ }
78
+ };
79
+ const pathTsconfigCms = path.posix.join(projectRoot, 'tsconfig.cms.json');
80
+ workspaceProject.architect['extract-translations'] ||= {
81
+ builder: '@o3r/transloco:extractor',
82
+ options: {
83
+ tsConfig: pathTsconfigCms.replace(/^\//, ''),
84
+ libraries: []
85
+ }
86
+ };
87
+ const localizationAssetsConfig = {
88
+ glob: '**/*.json',
89
+ input: `${projectBasePath}/${devResourcesFolder}/localizations`,
90
+ output: '/localizations'
91
+ };
92
+ const projectType = workspaceProject?.projectType || 'application';
93
+ if (projectType === 'application' && workspaceProject.architect.build) {
94
+ const alreadyExistingBuildOption = workspaceProject.architect.build.options?.assets
95
+ ?.map((a) => a.output)
96
+ .find((output) => output === '/localizations');
97
+ if (!alreadyExistingBuildOption) {
98
+ workspaceProject.architect.build.options ||= {};
99
+ workspaceProject.architect.build.options.assets ||= [];
100
+ workspaceProject.architect.build.options.assets.push(localizationAssetsConfig);
101
+ }
102
+ }
103
+ if (workspaceProject.architect.test) {
104
+ const alreadyExistingTestOption = workspaceProject.architect.test.options?.assets
105
+ ?.map((a) => a.output)
106
+ .find((output) => output === '/localizations');
107
+ if (!alreadyExistingTestOption) {
108
+ workspaceProject.architect.test.options ||= {};
109
+ workspaceProject.architect.test.options.assets ||= [];
110
+ workspaceProject.architect.test.options.assets.push(localizationAssetsConfig);
111
+ }
112
+ }
113
+ const targets = [
114
+ `${projectName}:generate-translations`,
115
+ `${projectName}:serve`
116
+ ];
117
+ if (workspaceProject.architect.run?.options && Array.isArray(workspaceProject.architect.run.options.targets)) {
118
+ workspaceProject.architect.run.options.targets.push(...targets);
119
+ workspaceProject.architect.run.options.targets = workspaceProject.architect.run.options.targets
120
+ .reduce((acc, target) => acc.includes(target) ? acc : [...acc, target], []);
121
+ }
122
+ else {
123
+ workspaceProject.architect.run = {
124
+ builder: '@o3r/core:multi-watcher',
125
+ options: {
126
+ targets
127
+ }
128
+ };
129
+ }
130
+ workspace.projects[projectName] = workspaceProject;
131
+ return (0, schematics_2.writeAngularJson)(tree, workspace);
132
+ };
133
+ /**
134
+ * Changed package.json start script to run localization generation
135
+ * @param tree
136
+ * @param context
137
+ */
138
+ const updatePackageJson = (tree, context) => {
139
+ const workspace = (0, schematics_2.getWorkspaceConfig)(tree);
140
+ const projectName = options.projectName;
141
+ const workspaceProject = options.projectName ? workspace?.projects[options.projectName] : undefined;
142
+ const packageManagerRunner = (0, schematics_2.getPackageManagerRunner)((0, schematics_2.getWorkspaceConfig)(tree));
143
+ if (!projectName || !workspace || !workspaceProject || workspaceProject.projectType === 'library') {
144
+ context.logger.debug('No application project found to add translation extraction');
145
+ return tree;
146
+ }
147
+ const packageJson = (0, schematics_2.readPackageJson)(tree, workspaceProject);
148
+ packageJson.scripts ||= {};
149
+ if (packageJson.scripts?.start && packageJson.scripts.start !== `ng run ${projectName}:run`) {
150
+ packageJson.scripts['start:no-translation'] ||= packageJson.scripts.start;
151
+ }
152
+ if (packageJson.scripts.watch) {
153
+ delete packageJson.scripts.watch;
154
+ }
155
+ packageJson.scripts.start ||= `ng run ${projectName}:run`;
156
+ if (packageJson.scripts.build?.indexOf('generate:translations') === -1) {
157
+ packageJson.scripts.build = `${packageManagerRunner} generate:translations && ${packageJson.scripts.build}`;
158
+ }
159
+ packageJson.scripts['generate:translations:dev'] ||= `ng run ${projectName}:generate-translations`;
160
+ packageJson.scripts['generate:translations'] ||= `ng run ${projectName}:generate-translations:production`;
161
+ tree.overwrite(`${workspaceProject.root}/package.json`, JSON.stringify(packageJson, null, 2));
162
+ };
163
+ /**
164
+ * Edit main module with the translation required configuration
165
+ * @param tree
166
+ * @param context
167
+ */
168
+ const registerModules = (tree, context) => {
169
+ const additionalRules = [];
170
+ const moduleFilePath = (0, schematics_2.getAppModuleFilePath)(tree, context, options.projectName);
171
+ if (!moduleFilePath || !tree.exists(moduleFilePath)) {
172
+ context.logger.warn(moduleFilePath
173
+ ? `Module file not found under '${moduleFilePath}'. Localization modules not registered.`
174
+ : 'No module file found. Localization modules not registered.');
175
+ return tree;
176
+ }
177
+ const sourceFile = ts.createSourceFile(moduleFilePath, tree.read(moduleFilePath).toString(), ts.ScriptTarget.ES2015, true);
178
+ // avoid overriding app module if Localization provider is already imported
179
+ if ((0, ast_utils_1.isImported)(sourceFile, 'provideLocalization', '@o3r/transloco')) {
180
+ return tree;
181
+ }
182
+ const recorder = tree.beginUpdate(moduleFilePath);
183
+ const appModuleFile = tree.read(moduleFilePath).toString();
184
+ const { moduleIndex } = (0, schematics_2.getModuleIndex)(sourceFile, appModuleFile);
185
+ const addImportToModuleFile = (name, file, moduleFunction) => additionalRules.push((0, utility_1.addRootImport)(options.projectName, ({ code, external }) => code `${external(name, file)}${moduleFunction}`));
186
+ const insertImportToModuleFile = (name, file, isDefault) => (0, schematics_2.insertImportToModuleFile)(name, file, sourceFile, recorder, moduleFilePath, isDefault);
187
+ const addProviderToModuleFile = (name, file, customProvider) => additionalRules.push((0, utility_1.addRootProvider)(options.projectName, ({ code, external }) => code `{provide: ${external(name, file)}, ${customProvider}}`));
188
+ const insertBeforeModule = (line) => (0, schematics_2.insertBeforeModule)(line, appModuleFile, recorder, moduleIndex);
189
+ addImportToModuleFile('TranslocoModule', '@jsverse/transloco', '');
190
+ additionalRules.push((0, utility_1.addRootProvider)(options.projectName, ({ code, external }) => code `${external('provideLocalization', '@o3r/transloco')}(localizationConfigurationFactory)`));
191
+ insertImportToModuleFile('translateLoaderProvider', '@o3r/transloco');
192
+ insertImportToModuleFile('LocalizationConfiguration', '@o3r/transloco');
193
+ insertImportToModuleFile('registerLocaleData', '@angular/common');
194
+ insertImportToModuleFile('localeEN', '@angular/common/locales/en', true);
195
+ insertImportToModuleFile('TRANSLOCO_LOADER', '@jsverse/transloco');
196
+ insertBeforeModule('registerLocaleData(localeEN, \'en-GB\');');
197
+ insertBeforeModule(`export function localizationConfigurationFactory(): Partial<LocalizationConfiguration> {
198
+ return {
199
+ supportedLocales: ['en-GB'],
200
+ fallbackLanguage: 'en-GB',
201
+ bundlesOutputPath: 'localizations/',
202
+ useDynamicContent: environment.production
203
+ };
204
+ }`);
205
+ if (options.enableMessageFormat) {
206
+ additionalRules.push((0, utility_1.addRootProvider)(options.projectName, ({ code, external }) => code `${external('provideTranslocoMessageformat', '@jsverse/transloco-messageformat')}()`));
207
+ }
208
+ addProviderToModuleFile('TRANSLOCO_LOADER', '@jsverse/transloco', 'useFactory: () => translateLoaderProvider');
209
+ if (!(0, ast_utils_1.isImported)(sourceFile, 'environment', '../environments/environment')) {
210
+ insertImportToModuleFile('environment', '../environments/environment');
211
+ }
212
+ tree.commitUpdate(recorder);
213
+ return (0, schematics_1.chain)(additionalRules)(tree, context);
214
+ };
215
+ /**
216
+ * Set language as default on application bootstrap
217
+ * @param tree
218
+ * @param context
219
+ */
220
+ const setDefaultLanguage = (tree, context) => {
221
+ const moduleFilePath = (0, schematics_2.getAppModuleFilePath)(tree, context, options.projectName);
222
+ const componentFilePath = moduleFilePath?.replace(/[.-](?:module|config)\.ts$/i, '.ts');
223
+ if (!componentFilePath || !tree.exists(componentFilePath)) {
224
+ context.logger.warn(`File ${componentFilePath} not found, the default language won't be set`);
225
+ return tree;
226
+ }
227
+ const sourceFile = ts.createSourceFile(componentFilePath, tree.read(componentFilePath).toString(), ts.ScriptTarget.ES2015, true);
228
+ // avoid overriding app component file if Localization service is already imported
229
+ if ((0, ast_utils_1.isImported)(sourceFile, 'LocalizationService', '@o3r/transloco')) {
230
+ return tree;
231
+ }
232
+ const recorder = tree.beginUpdate(componentFilePath);
233
+ const insertImportToComponentFile = (name, file, isDefault) => {
234
+ const importChange = (0, ast_utils_1.insertImport)(sourceFile, componentFilePath, name, file, isDefault);
235
+ if (importChange instanceof change_1.InsertChange) {
236
+ recorder.insertLeft(importChange.pos, importChange.toAdd);
237
+ }
238
+ };
239
+ insertImportToComponentFile('LocalizationService', '@o3r/transloco');
240
+ const constructorNode = (0, schematics_2.findFirstNodeOfKind)(sourceFile, ts.SyntaxKind.Constructor);
241
+ if (constructorNode) {
242
+ const hasParam = !!constructorNode.parameters && constructorNode.parameters.length > 0;
243
+ const pos = hasParam ? constructorNode.parameters[0].pos : constructorNode.pos + constructorNode.getText().indexOf('(') + 1;
244
+ recorder.insertLeft(pos, `localizationService: LocalizationService${hasParam ? ', ' : ''}`);
245
+ if (constructorNode.body) {
246
+ recorder.insertLeft(constructorNode.body.end - 1, 'localizationService.useLanguage(\'en-GB\');');
247
+ }
248
+ }
249
+ else {
250
+ const classNode = (0, schematics_2.findFirstNodeOfKind)(sourceFile, ts.SyntaxKind.ClassDeclaration);
251
+ if (classNode) {
252
+ const firstToken = classNode.members[0];
253
+ if (firstToken) {
254
+ recorder.insertLeft(firstToken.pos, '\n constructor(localizationService: LocalizationService) { localizationService.useLanguage(\'en-GB\'); }');
255
+ }
256
+ }
257
+ else {
258
+ context.logger.warn(`No class found in ${componentFilePath}, the default language won't be set`);
259
+ }
260
+ }
261
+ tree.commitUpdate(recorder);
262
+ return tree;
263
+ };
264
+ /**
265
+ * Add mockTranslationModule to application tests.
266
+ * @param tree
267
+ * @param context
268
+ */
269
+ const addMockTranslationModule = (tree, context) => {
270
+ const moduleFilePath = (0, schematics_2.getAppModuleFilePath)(tree, context, options.projectName);
271
+ const possibleComponentSpecPaths = [
272
+ moduleFilePath && moduleFilePath.replace(/\.(?:module|config)\.ts$/i, '.component.spec.ts'),
273
+ moduleFilePath && moduleFilePath.replace(/\.(?:module|config)\.ts$/i, '.spec.ts')
274
+ ];
275
+ const componentSpecFilePath = possibleComponentSpecPaths.find((compPath) => compPath && tree.exists(compPath));
276
+ if (!componentSpecFilePath || !tree.exists(componentSpecFilePath)) {
277
+ return tree;
278
+ }
279
+ const sourceFile = ts.createSourceFile(componentSpecFilePath, tree.read(componentSpecFilePath).toString(), ts.ScriptTarget.ES2015, true);
280
+ // avoid overriding app component spec file if Localization mock is already imported
281
+ if ((0, ast_utils_1.isImported)(sourceFile, 'provideLocalizationMock', '@o3r/testing/transloco')) {
282
+ return tree;
283
+ }
284
+ const recorder = tree.beginUpdate(componentSpecFilePath);
285
+ const insertImportToComponentFile = (name, file, isDefault) => {
286
+ const importChange = (0, ast_utils_1.insertImport)(sourceFile, componentSpecFilePath, name, file, isDefault);
287
+ if (importChange instanceof change_1.InsertChange) {
288
+ recorder.insertLeft(importChange.pos, importChange.toAdd);
289
+ }
290
+ };
291
+ insertImportToComponentFile('provideLocalizationMock', '@o3r/testing/transloco');
292
+ const providersRegExp = /TestBed\.configureTestingModule\({[^}]*providers\s*:\s*\[([^\]]*)/s;
293
+ const providersResult = sourceFile.text.match(providersRegExp);
294
+ if (providersResult && providersResult.length > 0 && typeof providersResult.index !== 'undefined') {
295
+ const providersArrayStart = providersResult.index + providersResult[0].length;
296
+ recorder.insertRight(providersArrayStart, '...provideLocalizationMock(), ');
297
+ }
298
+ tree.commitUpdate(recorder);
299
+ return tree;
300
+ };
301
+ // Ignore generated CMS metadata and dev resources
302
+ const ignoreDevResourcesFiles = (tree, _context) => {
303
+ const workingDirectory = (options.projectName && (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName]?.root) || '.';
304
+ return (0, schematics_1.applyToSubtree)(workingDirectory, [
305
+ (subTree) => (0, schematics_2.ignorePatterns)(subTree, [
306
+ { description: 'Local Development resources files', patterns: [`/${devResourcesFolder}`] },
307
+ { description: 'CMS metadata files', patterns: ['/*.metadata.json'] }
308
+ ])
309
+ ]);
310
+ };
311
+ return (0, schematics_1.chain)([
312
+ registerModules,
313
+ generateLocalesFolder,
314
+ updateAngularJson,
315
+ updatePackageJson,
316
+ setDefaultLanguage,
317
+ addMockTranslationModule,
318
+ ignoreDevResourcesFiles
319
+ ]);
320
+ }
321
+ /**
322
+ * Updates i18n configuration for the project
323
+ * @param options Options for the i18n update
324
+ * @param options.projectName Name of the project to update
325
+ */
326
+ function updateI18nFn(options) {
327
+ if (!options.projectName) {
328
+ return schematics_1.noop;
329
+ }
330
+ /**
331
+ * Add i18n generation builders into angular.json
332
+ * @param tree
333
+ */
334
+ const updateAngularJson = (tree) => {
335
+ const workspace = (0, schematics_2.getWorkspaceConfig)(tree);
336
+ const workspaceProject = options.projectName ? workspace?.projects[options.projectName] : undefined;
337
+ if (!workspace || !workspaceProject) {
338
+ return tree;
339
+ }
340
+ workspaceProject.architect ||= {};
341
+ workspaceProject.architect.i18n ||= {
342
+ builder: '@o3r/transloco:i18n',
343
+ options: {
344
+ localizationConfigs: [{
345
+ localizationFiles: workspace.schematics && workspace.schematics['@o3r/core:component']
346
+ ? [workspace.schematics['@o3r/core:component'].path]
347
+ : ['**/*-localization.json']
348
+ }]
349
+ }
350
+ };
351
+ workspace.projects[options.projectName] = workspaceProject;
352
+ return (0, schematics_2.writeAngularJson)(tree, workspace);
353
+ };
354
+ return (0, schematics_1.chain)([
355
+ updateAngularJson
356
+ ]);
357
+ }
358
+ exports.updateI18n = (0, schematics_2.createOtterSchematic)(updateI18nFn);
359
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/localization-base/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddLocalizationSchematicsSchema } from './schema';
3
+ /**
4
+ * Add localization architecture to an existing component
5
+ * @param options
6
+ */
7
+ export declare function ngAddLocalizationFn(options: NgAddLocalizationSchematicsSchema): Rule;
8
+ /**
9
+ * Add localization architecture to an existing component
10
+ * @param options
11
+ */
12
+ export declare const ngAddLocalization: (options: any) => Rule;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/localization-to-component/index.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;AA6BpC,OAAO,KAAK,EACV,iCAAiC,EAClC,MAAM,UAAU,CAAC;AA2ClB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iCAAiC,GAAG,IAAI,CAyTpF;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,wBAA4C,CAAC"}