@o3r/transloco 0.0.0 → 14.4.0-rc.2

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,264 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAddLocalization = void 0;
4
+ exports.ngAddLocalizationFn = ngAddLocalizationFn;
5
+ const node_path_1 = require("node:path");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ const schematics_2 = require("@o3r/schematics");
8
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
+ const change_1 = require("@schematics/angular/utility/change");
10
+ const ts = require("typescript");
11
+ /**
12
+ * List of properties that will be added to the component for localization
13
+ */
14
+ const localizationProperties = [
15
+ 'translations'
16
+ ];
17
+ /**
18
+ * Checks if localization files already exist for a component
19
+ * @param componentPath Path to the component file
20
+ * @param tree Schematic tree
21
+ * @param baseFileName Base file name of the component
22
+ */
23
+ const checkLocalization = (componentPath, tree, baseFileName) => {
24
+ const files = [
25
+ node_path_1.posix.join((0, node_path_1.dirname)(componentPath), `${baseFileName}-localization.json`),
26
+ node_path_1.posix.join((0, node_path_1.dirname)(componentPath), `${baseFileName}-translation.ts`)
27
+ ];
28
+ if (files.some((file) => tree.exists(file))) {
29
+ throw new schematics_2.O3rCliError(`Unable to add localization to this component because it already has at least one of these files: ${files.join(', ')}.`);
30
+ }
31
+ const componentSourceFile = ts.createSourceFile(componentPath, tree.readText(componentPath), ts.ScriptTarget.ES2020, true);
32
+ const o3rClassDeclaration = componentSourceFile.statements.find((statement) => ts.isClassDeclaration(statement)
33
+ && (0, schematics_2.isO3rClassComponent)(statement));
34
+ if (o3rClassDeclaration.members.some((classElement) => ts.isPropertyDeclaration(classElement)
35
+ && ts.isIdentifier(classElement.name)
36
+ && localizationProperties.includes(classElement.name.escapedText.toString()))) {
37
+ throw new schematics_2.O3rCliError(`Unable to add localization to this component because it already has at least one of these properties: ${localizationProperties.join(', ')}.`);
38
+ }
39
+ };
40
+ /**
41
+ * Add localization architecture to an existing component
42
+ * @param options
43
+ */
44
+ function ngAddLocalizationFn(options) {
45
+ return async (tree, context) => {
46
+ try {
47
+ const baseFileName = (0, schematics_2.getComponentBaseFileName)(options.path);
48
+ const { selector, standalone, templateRelativePath } = (0, schematics_2.getO3rComponentInfoOrThrowIfNotFound)(tree, options.path);
49
+ checkLocalization(options.path, tree, baseFileName);
50
+ const properties = {
51
+ ...options,
52
+ componentTranslation: (0, schematics_2.getComponentTranslationName)(baseFileName),
53
+ componentSelector: selector,
54
+ name: baseFileName
55
+ };
56
+ const createLocalizationFilesRule = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates'), [
57
+ (0, schematics_1.template)(properties),
58
+ (0, schematics_1.renameTemplateFiles)(),
59
+ (0, schematics_1.move)((0, node_path_1.dirname)(options.path))
60
+ ]), schematics_1.MergeStrategy.Overwrite);
61
+ const updateComponentRule = (0, schematics_1.chain)([
62
+ (0, schematics_2.addImportsRule)(options.path, [
63
+ {
64
+ from: '@angular/core',
65
+ importNames: [
66
+ 'Input'
67
+ ]
68
+ },
69
+ {
70
+ from: '@o3r/transloco',
71
+ importNames: [
72
+ 'Localization',
73
+ 'Translatable',
74
+ ...(standalone ? ['O3rLocalizationTranslatePipe'] : [])
75
+ ]
76
+ },
77
+ {
78
+ from: `./${properties.name}-translation`,
79
+ importNames: [
80
+ 'translations',
81
+ properties.componentTranslation
82
+ ]
83
+ }
84
+ ]),
85
+ () => {
86
+ const componentSourceFile = ts.createSourceFile(options.path, tree.readText(options.path), ts.ScriptTarget.ES2020, true);
87
+ const result = ts.transform(componentSourceFile, [
88
+ (0, schematics_2.addInterfaceToClassTransformerFactory)(`Translatable<${properties.componentTranslation}>`, schematics_2.isO3rClassComponent),
89
+ ...(standalone
90
+ ? [(0, schematics_2.addImportsIntoComponentDecoratorTransformerFactory)(['O3rLocalizationTranslatePipe'])]
91
+ : []),
92
+ (ctx) => (rootNode) => {
93
+ const { factory } = ctx;
94
+ const visit = (node) => {
95
+ if (ts.isClassDeclaration(node) && (0, schematics_2.isO3rClassComponent)(node)) {
96
+ const propertiesToAdd = (0, schematics_2.generateClassElementsFromString)(`
97
+ @Input()
98
+ public translations: ${properties.componentTranslation};
99
+ `);
100
+ const constructorDeclaration = node.members.find((classElement) => ts.isConstructorDeclaration(classElement));
101
+ const localizationConstructorBlockStatements = (0, schematics_2.generateBlockStatementsFromString)('this.translations = translations;');
102
+ const newContructorDeclaration = constructorDeclaration
103
+ ? factory.updateConstructorDeclaration(constructorDeclaration, ts.getModifiers(constructorDeclaration) || [], constructorDeclaration.parameters, constructorDeclaration.body
104
+ ? factory.updateBlock(constructorDeclaration.body, constructorDeclaration.body.statements.concat(localizationConstructorBlockStatements))
105
+ : factory.createBlock(localizationConstructorBlockStatements, true))
106
+ : factory.createConstructorDeclaration([], [], factory.createBlock(localizationConstructorBlockStatements, true));
107
+ const newModifiers = []
108
+ .concat(ts.getDecorators(node) || [])
109
+ .concat(ts.getModifiers(node) || []);
110
+ const newMembers = node.members
111
+ .filter((classElement) => !ts.isConstructorDeclaration(classElement))
112
+ .concat(propertiesToAdd, newContructorDeclaration)
113
+ .toSorted(schematics_2.sortClassElement);
114
+ (0, schematics_2.addCommentsOnClassProperties)(newMembers, {
115
+ translations: 'Localization of the component'
116
+ });
117
+ return factory.updateClassDeclaration(node, newModifiers, node.name, node.typeParameters, node.heritageClauses, newMembers);
118
+ }
119
+ return ts.visitEachChild(node, visit, ctx);
120
+ };
121
+ return ts.visitNode(rootNode, visit);
122
+ }
123
+ ]);
124
+ const printer = ts.createPrinter({
125
+ removeComments: false,
126
+ newLine: ts.NewLineKind.LineFeed
127
+ });
128
+ tree.overwrite(options.path, printer.printFile(result.transformed[0]));
129
+ const sf = ts.createSourceFile(options.path, tree.readText(options.path), ts.ScriptTarget.ES2020, true);
130
+ // Has to be done at the end because ts.Printer as some issues with Decorators with arguments
131
+ const translationsPropDeclaration = sf.statements
132
+ .find((statement) => ts.isClassDeclaration(statement) && (0, schematics_2.isO3rClassComponent)(statement))
133
+ .members.find((member) => ts.isPropertyDeclaration(member) && member.name.getText() === 'translations');
134
+ const translationsPropLastDecorator = ts.getDecorators(translationsPropDeclaration)?.at(-1);
135
+ if (translationsPropLastDecorator) {
136
+ tree.commitUpdate(tree
137
+ .beginUpdate(options.path)
138
+ .insertRight(translationsPropLastDecorator.getEnd(), `\n @Localization('./${baseFileName}-localization.json')`));
139
+ }
140
+ return tree;
141
+ }
142
+ ]);
143
+ const updateTemplateRule = () => {
144
+ const templatePath = templateRelativePath && node_path_1.posix.join((0, node_path_1.dirname)(options.path), templateRelativePath);
145
+ if (templatePath && tree.exists(templatePath)) {
146
+ tree.commitUpdate(tree
147
+ .beginUpdate(templatePath)
148
+ .insertLeft(0, '<div>Localization: {{ translations.dummyLoc1 | o3rTranslate }}</div>\n'));
149
+ }
150
+ return tree;
151
+ };
152
+ const specFilePath = options.specFilePath || node_path_1.posix.join((0, node_path_1.dirname)(options.path), `${baseFileName}.spec.ts`);
153
+ const updateSpecRule = (0, schematics_1.chain)([
154
+ (0, schematics_2.addImportsRule)(specFilePath, [
155
+ {
156
+ from: '@angular/core',
157
+ importNames: ['Provider']
158
+ },
159
+ {
160
+ from: '@o3r/transloco',
161
+ importNames: ['LocalizationService']
162
+ },
163
+ {
164
+ from: '@o3r/testing/transloco',
165
+ importNames: ['provideLocalizationMock']
166
+ }
167
+ ]),
168
+ () => {
169
+ if (!tree.exists(specFilePath)) {
170
+ context.logger.warn(`No update applied on spec file because ${specFilePath} does not exist.`);
171
+ return;
172
+ }
173
+ let specSourceFile = ts.createSourceFile(specFilePath, tree.readText(specFilePath), ts.ScriptTarget.ES2020, true);
174
+ const recorder = tree.beginUpdate(specFilePath);
175
+ const lastImport = [...specSourceFile.statements].reverse().find((statement) => ts.isImportDeclaration(statement));
176
+ const changes = [new change_1.InsertChange(specFilePath, lastImport?.getEnd() || 0, `
177
+ const localizationConfiguration = {language: 'en'};
178
+ const mockTranslations = {
179
+ en: {${options.activateDummy
180
+ ? `
181
+ '${properties.componentSelector}.dummyLoc1': 'Dummy 1'
182
+ `
183
+ : ''}}
184
+ };
185
+ `)];
186
+ (0, change_1.applyToUpdateRecorder)(recorder, changes);
187
+ tree.commitUpdate(recorder);
188
+ specSourceFile = ts.createSourceFile(specFilePath, tree.readText(specFilePath), ts.ScriptTarget.ES2020, true);
189
+ const result = ts.transform(specSourceFile, [
190
+ (ctx) => (0, schematics_2.addImportsAndCodeBlockStatementAtSpecInitializationTransformerFactory)([
191
+ ctx.factory.createSpreadElement(ctx.factory.createCallExpression(ctx.factory.createIdentifier('provideLocalizationMock'), undefined, [
192
+ ctx.factory.createIdentifier('localizationConfiguration'),
193
+ ctx.factory.createIdentifier('mockTranslations')
194
+ ]))
195
+ ], `const localizationService = TestBed.inject(LocalizationService);\nlocalizationService.configure();\n`)(ctx)
196
+ ]);
197
+ const printer = ts.createPrinter({
198
+ removeComments: false,
199
+ newLine: ts.NewLineKind.LineFeed
200
+ });
201
+ const newContent = printer.printFile(result.transformed[0]);
202
+ tree.overwrite(specFilePath, newContent);
203
+ return tree;
204
+ }
205
+ ]);
206
+ const updateModuleRule = () => {
207
+ const moduleFilePath = options.path.replace(/\.ts$/, '-module.ts');
208
+ // Check if module file exists
209
+ if (!tree.exists(moduleFilePath)) {
210
+ return tree;
211
+ }
212
+ const moduleSourceFile = ts.createSourceFile(moduleFilePath, tree.readText(moduleFilePath), ts.ScriptTarget.ES2020, true);
213
+ // Check if provideLocalization is already in the module
214
+ const moduleContent = tree.readText(moduleFilePath);
215
+ if (moduleContent.includes('provideLocalization')) {
216
+ return tree;
217
+ }
218
+ const recorder = tree.beginUpdate(moduleFilePath);
219
+ const importChanges = (0, ast_utils_1.insertImport)(moduleSourceFile, moduleFilePath, 'provideLocalization', '@o3r/transloco');
220
+ if (importChanges instanceof change_1.InsertChange) {
221
+ recorder.insertLeft(importChanges.pos, importChanges.toAdd);
222
+ }
223
+ const providerChanges = (0, ast_utils_1.addProviderToModule)(moduleSourceFile, moduleFilePath, 'provideLocalization()', '@o3r/transloco');
224
+ (0, change_1.applyToUpdateRecorder)(recorder, providerChanges);
225
+ tree.commitUpdate(recorder);
226
+ };
227
+ const addDummyKeyRule = (0, schematics_1.schematic)('add-localization-key', {
228
+ path: options.path,
229
+ skipLinter: options.skipLinter,
230
+ key: 'dummyLoc1',
231
+ description: 'Dummy 1 description',
232
+ value: 'Dummy 1'
233
+ });
234
+ return (0, schematics_1.chain)([
235
+ createLocalizationFilesRule,
236
+ updateComponentRule,
237
+ updateSpecRule,
238
+ standalone ? (0, schematics_1.noop)() : updateModuleRule,
239
+ ...(options.activateDummy ? [addDummyKeyRule, updateTemplateRule] : []),
240
+ options.skipLinter ? (0, schematics_1.noop)() : (0, schematics_2.applyEsLintFix)()
241
+ ]);
242
+ }
243
+ catch (e) {
244
+ if (e instanceof schematics_2.NoOtterComponent && context.interactive) {
245
+ const shouldConvertComponent = await (0, schematics_2.askConfirmationToConvertComponent)();
246
+ if (shouldConvertComponent) {
247
+ return (0, schematics_1.chain)([
248
+ (0, schematics_1.externalSchematic)('@o3r/core', 'convert-component', {
249
+ path: options.path
250
+ }),
251
+ ngAddLocalizationFn(options)
252
+ ]);
253
+ }
254
+ }
255
+ throw e;
256
+ }
257
+ };
258
+ }
259
+ /**
260
+ * Add localization architecture to an existing component
261
+ * @param options
262
+ */
263
+ exports.ngAddLocalization = (0, schematics_2.createOtterSchematic)(ngAddLocalizationFn);
264
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/localization-to-component/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { SchematicOptionObject } from '@o3r/schematics';
2
+ export interface NgAddLocalizationSchematicsSchema extends SchematicOptionObject {
3
+ /** Path to the component */
4
+ path: string;
5
+ /** Path to spec file of the component */
6
+ specFilePath?: string | undefined;
7
+ /** Skip the linter process which includes the run of EsLint and EditorConfig rules */
8
+ skipLinter: boolean;
9
+ /** Determine if the dummy localization should be generated */
10
+ activateDummy: boolean;
11
+ }
12
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/localization-to-component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,sFAAsF;IACtF,UAAU,EAAE,OAAO,CAAC;IAEpB,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/localization-to-component/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "NgAddLocalizationSchematicsSchema",
4
+ "title": "Add Otter Localization to an existing component",
5
+ "description": "Add Otter Localization to an existing component",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "description": "Path to the component",
10
+ "default": ""
11
+ },
12
+ "specFilePath": {
13
+ "type": "string",
14
+ "description": "Path to spec file of the component"
15
+ },
16
+ "skipLinter": {
17
+ "type": "boolean",
18
+ "description": "Skip the linter process which includes EsLint and EditorConfig rules applying",
19
+ "default": false
20
+ },
21
+ "activateDummy": {
22
+ "type": "boolean",
23
+ "description": "Generate dummy values",
24
+ "default": false
25
+ }
26
+ },
27
+ "additionalProperties": true,
28
+ "required": [
29
+ "path"
30
+ ]
31
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/AmadeusITGroup/otter/main/packages/%40o3r/transloco/schemas/localization.schema.json"
3
+ }
@@ -0,0 +1,5 @@
1
+ import type {Translation} from '@o3r/core';
2
+
3
+ export interface <%= componentTranslation %> extends Translation {}
4
+
5
+ export const translations: Readonly<<%= componentTranslation %>> = {} as const;
@@ -0,0 +1,8 @@
1
+ import type { Rule } from '@angular-devkit/schematics';
2
+ import type { MigrationLocalizationToTranslocoSchema } from './schema';
3
+ /**
4
+ * Migrate from \@o3r/localization to \@o3r/transloco
5
+ * @param options Migration options
6
+ */
7
+ export declare const migrationLocalizationToTransloco: (options: MigrationLocalizationToTranslocoSchema) => Rule;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/migration-localization-to-transloco/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EACV,sCAAsC,EACvC,MAAM,UAAU,CAAC;AAyNlB;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,sCAAsC,SAC7B,CAAC"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrationLocalizationToTransloco = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const schematics_2 = require("@o3r/schematics");
6
+ /**
7
+ * Pre-flight checks before migration
8
+ */
9
+ function runPreflightChecks() {
10
+ return (tree, context) => {
11
+ if (!tree.exists('/package.json')) {
12
+ throw new Error('package.json not found');
13
+ }
14
+ // Check if @o3r/localization is installed
15
+ const packageJson = tree.readJson('/package.json');
16
+ const hasLocalization = packageJson.dependencies?.['@o3r/localization']
17
+ || packageJson.devDependencies?.['@o3r/localization']
18
+ || packageJson.peerDependencies?.['@o3r/localization'];
19
+ if (!hasLocalization) {
20
+ throw new Error('@o3r/localization is not installed. Nothing to migrate.');
21
+ }
22
+ context.logger.info('Pre-flight checks passed');
23
+ return tree;
24
+ };
25
+ }
26
+ /**
27
+ * Remove \@o3r/localization dependency from package.json
28
+ * @param options Migration options
29
+ */
30
+ function removeO3rLocalizationDependency(options) {
31
+ return (tree, context) => {
32
+ if (options.verbose) {
33
+ context.logger.info('Removing @o3r/localization from package.json...');
34
+ }
35
+ const packageJsonPath = '/package.json';
36
+ if (!tree.exists(packageJsonPath)) {
37
+ throw new Error('package.json not found');
38
+ }
39
+ const packageJson = tree.readJson(packageJsonPath);
40
+ // Remove @o3r/localization from all dependency sections
41
+ const depToRemove = '@o3r/localization';
42
+ if (packageJson.dependencies?.[depToRemove]) {
43
+ delete packageJson.dependencies[depToRemove];
44
+ }
45
+ if (packageJson.devDependencies?.[depToRemove]) {
46
+ delete packageJson.devDependencies[depToRemove];
47
+ }
48
+ if (packageJson.peerDependencies?.[depToRemove]) {
49
+ delete packageJson.peerDependencies[depToRemove];
50
+ }
51
+ tree.overwrite(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
52
+ context.logger.info('✓ Removed @o3r/localization');
53
+ return tree;
54
+ };
55
+ }
56
+ /**
57
+ * Clean up old message format imports and configuration
58
+ * @param options Migration options
59
+ */
60
+ function cleanupMessageFormatReferences(options) {
61
+ return (tree, context) => {
62
+ if (options.verbose) {
63
+ context.logger.info('Cleaning up old message format references...');
64
+ }
65
+ tree.visit((filePath) => {
66
+ if (!filePath.endsWith('.ts')) {
67
+ return;
68
+ }
69
+ const content = tree.readText(filePath);
70
+ // Check if this file has old message format setup
71
+ const hasMessageFormatCompiler = content.includes('TranslateMessageFormatLazyCompiler');
72
+ const hasMessageFormatConfig = content.includes('MESSAGE_FORMAT_CONFIG');
73
+ if (!hasMessageFormatCompiler && !hasMessageFormatConfig) {
74
+ return;
75
+ }
76
+ let newContent = content;
77
+ // Remove MESSAGE_FORMAT_CONFIG imports and usage
78
+ newContent = newContent.replace(/,?\s*MESSAGE_FORMAT_CONFIG\s*,?/g, '');
79
+ newContent = newContent.replace(/\{\s*provide:\s*MESSAGE_FORMAT_CONFIG\s*,\s*useValue:\s*\{\s*\}\s*\}\s*,?\s*/g, '');
80
+ // Remove TranslateMessageFormatLazyCompiler imports and usage
81
+ newContent = newContent.replace(/,?\s*TranslateMessageFormatLazyCompiler\s*,?/g, '');
82
+ newContent = newContent.replace(/,?\s*TranslateCompiler\s*,?/g, '');
83
+ if (newContent !== content) {
84
+ tree.overwrite(filePath, newContent);
85
+ if (options.verbose) {
86
+ context.logger.info(` ✓ Cleaned up message format references in ${filePath}`);
87
+ }
88
+ }
89
+ });
90
+ return tree;
91
+ };
92
+ }
93
+ /**
94
+ * Detect if message format is used in the project
95
+ * @param tree
96
+ */
97
+ function detectMessageFormatUsage(tree) {
98
+ let hasMessageFormat = false;
99
+ tree.visit((filePath) => {
100
+ if (!filePath.endsWith('.ts') || hasMessageFormat) {
101
+ return;
102
+ }
103
+ const content = tree.readText(filePath);
104
+ if (content.includes('TranslateMessageFormatLazyCompiler') || content.includes('MESSAGE_FORMAT_CONFIG')) {
105
+ hasMessageFormat = true;
106
+ }
107
+ });
108
+ return hasMessageFormat;
109
+ }
110
+ /**
111
+ * Transform \@o3r/localization imports and executors to \@o3r/transloco in all TypeScript and config files
112
+ * @param options Migration options
113
+ */
114
+ function transformFilesRule(options) {
115
+ return (tree, context) => {
116
+ if (options.verbose) {
117
+ context.logger.info('Transforming @o3r/localization references to @o3r/transloco...');
118
+ }
119
+ tree.visit((filePath) => {
120
+ let regex;
121
+ let replacement;
122
+ // Determine file type and transformation
123
+ if (filePath.endsWith('.ts')) {
124
+ regex = /@o3r\/localization(\/[^'"\s]*)?/g;
125
+ replacement = '@o3r/transloco$1';
126
+ }
127
+ else if (filePath === '/angular.json' || filePath === '/workspace.json' || filePath.endsWith('/project.json')) {
128
+ regex = /@o3r\/localization:/g;
129
+ replacement = '@o3r/transloco:';
130
+ }
131
+ else {
132
+ return;
133
+ }
134
+ const content = tree.readText(filePath);
135
+ let newContent = content.replace(regex, replacement);
136
+ // Remove LocalizationModule references (doesn't exist in @o3r/transloco)
137
+ if (filePath.endsWith('.ts')) {
138
+ newContent = newContent.replace(/,?\s*LocalizationModule\s*,?/g, '');
139
+ newContent = newContent.replace(/LocalizationModule\.forRoot\([^)]*\)\s*,?\s*/g, '');
140
+ }
141
+ if (newContent !== content) {
142
+ tree.overwrite(filePath, newContent);
143
+ if (options.verbose) {
144
+ context.logger.info(` ✓ Transformed ${filePath}`);
145
+ }
146
+ }
147
+ });
148
+ context.logger.info(`✓ Transformed @o3r/localization imports and executors`);
149
+ return tree;
150
+ };
151
+ }
152
+ /**
153
+ * Migration schematic entry point
154
+ * @param options Migration options
155
+ */
156
+ function migrationLocalizationToTranslocoFn(options) {
157
+ let hasMessageFormat = false;
158
+ return (0, schematics_1.chain)([
159
+ (tree, context) => {
160
+ context.logger.info('Starting migration from @o3r/localization to @o3r/transloco...');
161
+ // Detect message format usage
162
+ hasMessageFormat = detectMessageFormatUsage(tree);
163
+ if (hasMessageFormat) {
164
+ context.logger.info('✓ Detected message format usage - ng-add will install provideTranslocoMessageformat()');
165
+ }
166
+ return tree;
167
+ },
168
+ runPreflightChecks(),
169
+ removeO3rLocalizationDependency(options),
170
+ cleanupMessageFormatReferences(options),
171
+ (0, schematics_1.externalSchematic)('@o3r/transloco', 'ng-add', {
172
+ skipInstall: options.skipInstall,
173
+ skipLinter: options.skipLinter,
174
+ enableMessageFormat: hasMessageFormat
175
+ }),
176
+ transformFilesRule(options),
177
+ (tree, context) => {
178
+ context.logger.info('✓ Migration completed successfully');
179
+ context.logger.info('');
180
+ context.logger.info('Next steps:');
181
+ context.logger.info(' 1. Install dependencies: npm install (or yarn install)');
182
+ context.logger.info(' 2. Migrate ngx-translate API calls to Transloco:');
183
+ context.logger.info(' ng g @jsverse/transloco-schematics:ngx-migrate');
184
+ return tree;
185
+ }
186
+ ]);
187
+ }
188
+ /**
189
+ * Migrate from \@o3r/localization to \@o3r/transloco
190
+ * @param options Migration options
191
+ */
192
+ const migrationLocalizationToTransloco = (options) => (0, schematics_2.createOtterSchematic)(migrationLocalizationToTranslocoFn)(options);
193
+ exports.migrationLocalizationToTransloco = migrationLocalizationToTransloco;
194
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/migration-localization-to-transloco/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { SchematicOptionObject } from '@o3r/schematics';
2
+ /**
3
+ * Migration options for transforming from \@o3r/localization to \@o3r/transloco
4
+ */
5
+ export interface MigrationLocalizationToTranslocoSchema extends SchematicOptionObject {
6
+ /** Skip npm/yarn install after migration */
7
+ skipInstall?: boolean;
8
+ /** Skip running lint --fix after migration */
9
+ skipLinter?: boolean;
10
+ /** Preview changes without applying them */
11
+ dryRun?: boolean;
12
+ /** Show detailed transformation logs */
13
+ verbose?: boolean;
14
+ }
15
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/migration-localization-to-transloco/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,sCAAuC,SAAQ,qBAAqB;IACnF,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/migration-localization-to-transloco/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "MigrationLocalizationToTranslocoSchema",
4
+ "title": "Transloco Migration Options",
5
+ "type": "object",
6
+ "properties": {
7
+ "skipInstall": {
8
+ "type": "boolean",
9
+ "default": false,
10
+ "description": "Skip npm/yarn install after migration"
11
+ },
12
+ "skipLinter": {
13
+ "type": "boolean",
14
+ "default": false,
15
+ "description": "Skip running lint --fix after migration"
16
+ },
17
+ "dryRun": {
18
+ "type": "boolean",
19
+ "default": false,
20
+ "description": "Preview changes without applying them"
21
+ },
22
+ "verbose": {
23
+ "type": "boolean",
24
+ "default": false,
25
+ "description": "Show detailed transformation logs"
26
+ }
27
+ },
28
+ "required": [],
29
+ "additionalProperties": true
30
+ }
@@ -0,0 +1,8 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddSchematicsSchema } from '../schema';
3
+ /**
4
+ * Register Devtools to the application
5
+ * @param options
6
+ */
7
+ export declare const registerDevtools: (options: NgAddSchematicsSchema) => Rule;
8
+ //# sourceMappingURL=devtools-registration.d.ts.map