@jsverse/transloco 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/esm2022/index.mjs +3 -3
  3. package/esm2022/lib/transloco-missing-handler.mjs +5 -5
  4. package/esm2022/lib/transloco.directive.mjs +6 -11
  5. package/esm2022/lib/transloco.providers.mjs +3 -3
  6. package/esm2022/lib/transloco.service.mjs +7 -10
  7. package/fesm2022/jsverse-transloco.mjs +16 -25
  8. package/fesm2022/jsverse-transloco.mjs.map +1 -1
  9. package/index.d.ts +2 -2
  10. package/lib/transloco-missing-handler.d.ts +3 -3
  11. package/lib/transloco.directive.d.ts +1 -2
  12. package/lib/transloco.service.d.ts +0 -1
  13. package/package.json +1 -1
  14. package/schematics/src/assets/i18n/en.json +1 -0
  15. package/schematics/src/collection.json +59 -0
  16. package/schematics/src/component/index.d.ts +2 -0
  17. package/schematics/src/component/index.js +21 -0
  18. package/schematics/src/component/index.js.map +1 -0
  19. package/schematics/src/join/index.d.ts +3 -0
  20. package/schematics/src/join/index.js +79 -0
  21. package/schematics/src/join/index.js.map +1 -0
  22. package/schematics/src/join/schema.d.ts +28 -0
  23. package/schematics/src/join/schema.js +3 -0
  24. package/schematics/src/join/schema.js.map +1 -0
  25. package/schematics/src/join/schema.json +43 -0
  26. package/schematics/src/keys-manager/index.d.ts +5 -0
  27. package/schematics/src/keys-manager/index.js +97 -0
  28. package/schematics/src/keys-manager/index.js.map +1 -0
  29. package/schematics/src/keys-manager/schema.d.ts +19 -0
  30. package/schematics/src/keys-manager/schema.js +3 -0
  31. package/schematics/src/keys-manager/schema.js.map +1 -0
  32. package/schematics/src/keys-manager/schema.json +33 -0
  33. package/schematics/src/migrate/index.d.ts +3 -0
  34. package/schematics/src/migrate/index.js +21 -0
  35. package/schematics/src/migrate/index.js.map +1 -0
  36. package/schematics/src/migrate/ngx-translate-migration.d.ts +3 -0
  37. package/schematics/src/migrate/ngx-translate-migration.js +169 -0
  38. package/schematics/src/migrate/ngx-translate-migration.js.map +1 -0
  39. package/schematics/src/migrate/schema.d.ts +10 -0
  40. package/schematics/src/migrate/schema.js +3 -0
  41. package/schematics/src/migrate/schema.js.map +1 -0
  42. package/schematics/src/migrate/schema.json +23 -0
  43. package/schematics/src/ng-add/files/transloco-loader/transloco-loader.__ts__ +12 -0
  44. package/schematics/src/ng-add/files/transloco-module/transloco-root.module.__ts__ +24 -0
  45. package/schematics/src/ng-add/generators/http-loader.gen.d.ts +4 -0
  46. package/schematics/src/ng-add/generators/http-loader.gen.js +15 -0
  47. package/schematics/src/ng-add/generators/http-loader.gen.js.map +1 -0
  48. package/schematics/src/ng-add/generators/root-module.gen.d.ts +9 -0
  49. package/schematics/src/ng-add/generators/root-module.gen.js +31 -0
  50. package/schematics/src/ng-add/generators/root-module.gen.js.map +1 -0
  51. package/schematics/src/ng-add/generators/translation-files.gen.d.ts +4 -0
  52. package/schematics/src/ng-add/generators/translation-files.gen.js +23 -0
  53. package/schematics/src/ng-add/generators/translation-files.gen.js.map +1 -0
  54. package/schematics/src/ng-add/index.d.ts +3 -0
  55. package/schematics/src/ng-add/index.js +103 -0
  56. package/schematics/src/ng-add/index.js.map +1 -0
  57. package/schematics/src/ng-add/schema.d.ts +42 -0
  58. package/schematics/src/ng-add/schema.js +14 -0
  59. package/schematics/src/ng-add/schema.js.map +1 -0
  60. package/schematics/src/ng-add/schema.json +53 -0
  61. package/schematics/src/ng-migrate/index.d.ts +3 -0
  62. package/schematics/src/ng-migrate/index.js +14 -0
  63. package/schematics/src/ng-migrate/index.js.map +1 -0
  64. package/schematics/src/ng-migrate/ng-migrate.d.ts +5 -0
  65. package/schematics/src/ng-migrate/ng-migrate.js +106 -0
  66. package/schematics/src/ng-migrate/ng-migrate.js.map +1 -0
  67. package/schematics/src/ng-migrate/schema.d.ts +14 -0
  68. package/schematics/src/ng-migrate/schema.js +3 -0
  69. package/schematics/src/ng-migrate/schema.js.map +1 -0
  70. package/schematics/src/ng-migrate/schema.json +27 -0
  71. package/schematics/src/schematics.consts.d.ts +4 -0
  72. package/schematics/src/schematics.consts.js +8 -0
  73. package/schematics/src/schematics.consts.js.map +1 -0
  74. package/schematics/src/scope/index.d.ts +3 -0
  75. package/schematics/src/scope/index.js +101 -0
  76. package/schematics/src/scope/index.js.map +1 -0
  77. package/schematics/src/scope/schema.d.ts +28 -0
  78. package/schematics/src/scope/schema.js +3 -0
  79. package/schematics/src/scope/schema.js.map +1 -0
  80. package/schematics/src/scope/schema.json +84 -0
  81. package/schematics/src/split/index.d.ts +3 -0
  82. package/schematics/src/split/index.js +66 -0
  83. package/schematics/src/split/index.js.map +1 -0
  84. package/schematics/src/split/schema.d.ts +20 -0
  85. package/schematics/src/split/schema.js +3 -0
  86. package/schematics/src/split/schema.js.map +1 -0
  87. package/schematics/src/split/schema.json +35 -0
  88. package/schematics/src/types.d.ts +5 -0
  89. package/schematics/src/types.js +10 -0
  90. package/schematics/src/types.js.map +1 -0
  91. package/schematics/src/upgrade/index.d.ts +3 -0
  92. package/schematics/src/upgrade/index.js +19 -0
  93. package/schematics/src/upgrade/index.js.map +1 -0
  94. package/schematics/src/upgrade/schema.d.ts +6 -0
  95. package/schematics/src/upgrade/schema.js +3 -0
  96. package/schematics/src/upgrade/schema.js.map +1 -0
  97. package/schematics/src/upgrade/schema.json +16 -0
  98. package/schematics/src/upgrade/v2.d.ts +1 -0
  99. package/schematics/src/upgrade/v2.js +89 -0
  100. package/schematics/src/upgrade/v2.js.map +1 -0
  101. package/schematics/src/utils/array.d.ts +3 -0
  102. package/schematics/src/utils/array.js +12 -0
  103. package/schematics/src/utils/array.js.map +1 -0
  104. package/schematics/src/utils/config.d.ts +2 -0
  105. package/schematics/src/utils/config.js +13 -0
  106. package/schematics/src/utils/config.js.map +1 -0
  107. package/schematics/src/utils/find-module.d.ts +23 -0
  108. package/schematics/src/utils/find-module.js +110 -0
  109. package/schematics/src/utils/find-module.js.map +1 -0
  110. package/schematics/src/utils/package.d.ts +5 -0
  111. package/schematics/src/utils/package.js +19 -0
  112. package/schematics/src/utils/package.js.map +1 -0
  113. package/schematics/src/utils/projects.d.ts +8 -0
  114. package/schematics/src/utils/projects.js +56 -0
  115. package/schematics/src/utils/projects.js.map +1 -0
  116. package/schematics/src/utils/translations.d.ts +7 -0
  117. package/schematics/src/utils/translations.js +31 -0
  118. package/schematics/src/utils/translations.js.map +1 -0
  119. package/schematics/src/utils/transloco.d.ts +24 -0
  120. package/schematics/src/utils/transloco.js +93 -0
  121. package/schematics/src/utils/transloco.js.map +1 -0
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "transloco-upgrade",
4
+ "title": "Run an upgrade script [Legacy and will be removed in v7]",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "description": "The entry path of the upgrade script.",
9
+ "x-prompt": "✍ Which folder should be the entry path for the script?",
10
+ "type": "string",
11
+ "default": "./src/app",
12
+ "alias": "p"
13
+ }
14
+ },
15
+ "required": []
16
+ }
@@ -0,0 +1 @@
1
+ export declare function run(path: any): void;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = void 0;
4
+ const p = require("node:path");
5
+ const fs = require("node:fs");
6
+ const glob_1 = require("glob");
7
+ function run(path) {
8
+ console.log('\x1b[4m%s\x1b[0m', '⬆️ Starting v2 upgrade script ⬆️');
9
+ const dir = p.resolve(process.cwd());
10
+ path = p.join(dir, path, '/**/*');
11
+ const htmlFiles = (0, glob_1.sync)(`${path}.html`);
12
+ const templateRegex = /<ng-template[^>]*transloco[^>]*>[^]+?<\/ng-template>/g;
13
+ const structuralRegex = /<([a-zA-Z-]*)[^*>]*\*transloco=('|")\s*let\s+(?<varName>\w*)[^>]*\2>[^]+?<\/\1\s*>/g;
14
+ const coreKeyRegex = (varName) => `(?<rawKey>${varName}(?:(?:\\[('|").+\\1\\])|(?:\\.\\w+))+)(?<param>[\\s\\w|:{}'"$&!?%@#^)(]*)`;
15
+ const bindingKey = (varName) => new RegExp(`("|')\\s*${coreKeyRegex(varName)}\\1`, 'g');
16
+ const templateKey = (varName) => new RegExp(`{{\\s*${coreKeyRegex(varName)}}}`, 'g');
17
+ for (const file of htmlFiles) {
18
+ let str = fs.readFileSync(file).toString('utf8');
19
+ if (!str.includes('transloco'))
20
+ continue;
21
+ [structuralRegex, templateRegex].forEach((rgx, index) => {
22
+ let containerSearch = rgx.exec(str);
23
+ while (containerSearch) {
24
+ const [matchedStr] = containerSearch;
25
+ const { varName } = index === 0
26
+ ? containerSearch.groups
27
+ : matchedStr.match(/let-(?<varName>\w*)/).groups;
28
+ let newStructuralStr = matchedStr;
29
+ let hasMatches;
30
+ [templateKey(varName), bindingKey(varName)].forEach((keyRegex) => {
31
+ let keySearch = keyRegex.exec(matchedStr);
32
+ hasMatches = hasMatches || !!keySearch;
33
+ while (keySearch) {
34
+ const { rawKey, param } = keySearch.groups;
35
+ /** The raw key may contain square braces we need to align it to '.' */
36
+ // eslint-disable-next-line prefer-const
37
+ let [key, ...inner] = rawKey
38
+ .trim()
39
+ .replace(/\[/g, '.')
40
+ .replace(/'|"|\]|\?/g, '')
41
+ .replace(`${varName}.`, '')
42
+ .split('.');
43
+ let callEnd = ')';
44
+ const pipes = (param && param.split('|')) || [];
45
+ const [paramsPipe] = pipes.filter((pipe) => pipe.includes('translocoParams'));
46
+ if (paramsPipe) {
47
+ const paramValue = paramsPipe.substring(paramsPipe.indexOf('{'), paramsPipe.lastIndexOf('}') + 1);
48
+ if (paramValue) {
49
+ callEnd = `, ${paramValue})`;
50
+ }
51
+ }
52
+ if (inner.length) {
53
+ key = `${key}.${inner.join('.')}`;
54
+ }
55
+ newStructuralStr = paramsPipe
56
+ ? newStructuralStr.replace(`${rawKey}${param}`, `${varName}('${key}'${callEnd} ${pipes
57
+ .filter((pipe) => !pipe.includes('translocoParams'))
58
+ .join('|')}`)
59
+ : newStructuralStr.replace(rawKey, `${varName}('${key}'${callEnd}`);
60
+ keySearch = keyRegex.exec(matchedStr);
61
+ }
62
+ });
63
+ if (hasMatches) {
64
+ str = str.replace(matchedStr, newStructuralStr);
65
+ }
66
+ containerSearch = rgx.exec(str);
67
+ }
68
+ });
69
+ fs.writeFileSync(file, str, { encoding: 'utf8' });
70
+ }
71
+ const modules = (0, glob_1.sync)(`${path}.module.ts`);
72
+ for (const file of modules) {
73
+ let str = fs.readFileSync(file).toString('utf8');
74
+ if (!str.includes('@jsverse/transloco'))
75
+ continue;
76
+ /** change listenToLangChange to renderOnce */
77
+ str = str.replace('listenToLangChange', 'reRenderOnLangChange');
78
+ /** Remove scopeStrategy */
79
+ str = str.replace(/\s*scopeStrategy:.*?,/, '');
80
+ /** Add availableLangs */
81
+ if (!str.includes('availableLangs')) {
82
+ str = str.replace(/((\s*)defaultLang:(.*?),)/, (str, g1, g2, g3) => `${g1}${g2}availableLangs: [${g3.trim()}],`);
83
+ }
84
+ fs.writeFileSync(file, str, { encoding: 'utf8' });
85
+ }
86
+ console.log(`Done! Welcome to Transloco v2 😎`);
87
+ }
88
+ exports.run = run;
89
+ //# sourceMappingURL=v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/upgrade/v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function stringifyList<T>(list: T[], separator?: string): string;
2
+ export declare function coerceArray<T>(value: T | T[]): T[];
3
+ export declare function coerceArray<T>(value: T | readonly T[]): readonly T[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceArray = exports.stringifyList = void 0;
4
+ function stringifyList(list, separator = ', ') {
5
+ return list.map((item) => `'${item}'`).join(separator);
6
+ }
7
+ exports.stringifyList = stringifyList;
8
+ function coerceArray(value) {
9
+ return Array.isArray(value) ? value : [value];
10
+ }
11
+ exports.coerceArray = coerceArray;
12
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/array.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAI,IAAS,EAAE,SAAS,GAAG,IAAI;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAFD,sCAEC;AAID,SAAgB,WAAW,CAAI,KAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,2 @@
1
+ import { TranslocoGlobalConfig } from '@jsverse/transloco-utils';
2
+ export declare function getConfig(): TranslocoGlobalConfig;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfig = void 0;
4
+ const transloco_utils_1 = require("@jsverse/transloco-utils");
5
+ let config;
6
+ function getConfig() {
7
+ if (config)
8
+ return config;
9
+ config = (0, transloco_utils_1.getGlobalConfig)();
10
+ return config;
11
+ }
12
+ exports.getConfig = getConfig;
13
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/config.ts"],"names":[],"mappings":";;;AAAA,8DAGkC;AAElC,IAAI,MAA6B,CAAC;AAElC,SAAgB,SAAS;IACvB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,IAAA,iCAAe,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,8BAKC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google Inc. All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { Path } from '@angular-devkit/core';
9
+ import { Tree } from '@angular-devkit/schematics';
10
+ export declare const MODULE_EXT = ".module.ts";
11
+ export declare const ROUTING_MODULE_EXT = "-routing.module.ts";
12
+ /**
13
+ * Find the module referred by a set of options passed to the schematics.
14
+ */
15
+ export declare function findRootModule(host: Tree, module: string, rootPath?: string, skipImport?: boolean): string | undefined;
16
+ /**
17
+ * Find the module referred by a set of options passed to the schematics.
18
+ */
19
+ export declare function findModuleFromOptions(host: Tree, options: any, projectPath: any): Path | undefined;
20
+ /**
21
+ * Function to find the "closest" module to a generated file's path.
22
+ */
23
+ export declare function findModule(host: Tree, generateDir: string, moduleExt?: string, routingModuleExt?: string): Path;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findModule = exports.findModuleFromOptions = exports.findRootModule = exports.ROUTING_MODULE_EXT = exports.MODULE_EXT = void 0;
4
+ /**
5
+ * @license
6
+ * Copyright Google Inc. All Rights Reserved.
7
+ *
8
+ * Use of this source code is governed by an MIT-style license that can be
9
+ * found in the LICENSE file at https://angular.io/license
10
+ */
11
+ const core_1 = require("@angular-devkit/core");
12
+ exports.MODULE_EXT = '.module.ts';
13
+ exports.ROUTING_MODULE_EXT = '-routing.module.ts';
14
+ /**
15
+ * Find the module referred by a set of options passed to the schematics.
16
+ */
17
+ function findRootModule(host, module, rootPath = '', skipImport = false) {
18
+ if (skipImport || !module) {
19
+ return undefined;
20
+ }
21
+ const modulePath = (0, core_1.normalize)(`${rootPath}/${module}`);
22
+ const matchingExt = [
23
+ '',
24
+ '.ts',
25
+ exports.MODULE_EXT,
26
+ `/${module}${exports.MODULE_EXT}`,
27
+ `/${module}.ts`,
28
+ ].find((ext) => host.exists(modulePath + ext));
29
+ if (matchingExt) {
30
+ return (0, core_1.normalize)(modulePath + matchingExt);
31
+ }
32
+ throw new Error(`Specified module path ${modulePath} does not exist`);
33
+ }
34
+ exports.findRootModule = findRootModule;
35
+ /**
36
+ * Find the module referred by a set of options passed to the schematics.
37
+ */
38
+ function findModuleFromOptions(host, options, projectPath) {
39
+ if (Object.prototype.hasOwnProperty.call(options, 'skipImport') &&
40
+ options.skipImport) {
41
+ return undefined;
42
+ }
43
+ const moduleExt = options.moduleExt || exports.MODULE_EXT;
44
+ const routingModuleExt = options.routingModuleExt || exports.ROUTING_MODULE_EXT;
45
+ if (!options.module) {
46
+ const pathToCheck = (projectPath || '') + '/' + options.name;
47
+ const module = findModule(host, pathToCheck, moduleExt, routingModuleExt);
48
+ return module ? (0, core_1.normalize)(module) : null;
49
+ }
50
+ else {
51
+ const modulePath = (0, core_1.normalize)(`/${projectPath}/${options.module}`);
52
+ const componentPath = (0, core_1.normalize)(`/${projectPath}/${options.name}`);
53
+ const moduleBaseName = (0, core_1.normalize)(modulePath).split('/').pop();
54
+ const candidateSet = new Set([(0, core_1.normalize)(projectPath || '/')]);
55
+ for (let dir = modulePath; dir != core_1.NormalizedRoot; dir = (0, core_1.dirname)(dir)) {
56
+ candidateSet.add(dir);
57
+ }
58
+ for (let dir = componentPath; dir != core_1.NormalizedRoot; dir = (0, core_1.dirname)(dir)) {
59
+ candidateSet.add(dir);
60
+ }
61
+ const candidatesDirs = [...candidateSet].sort((a, b) => b.length - a.length);
62
+ for (const c of candidatesDirs) {
63
+ const candidateFiles = [
64
+ '',
65
+ `${moduleBaseName}.ts`,
66
+ `${moduleBaseName}${moduleExt}`,
67
+ ].map((x) => (0, core_1.join)(c, x));
68
+ for (const sc of candidateFiles) {
69
+ if (host.exists(sc)) {
70
+ return (0, core_1.normalize)(sc);
71
+ }
72
+ }
73
+ }
74
+ return null;
75
+ throw new Error(`Specified module '${options.module}' does not exist.\n` +
76
+ `Looked in the following directories:\n ${candidatesDirs.join('\n ')}`);
77
+ }
78
+ }
79
+ exports.findModuleFromOptions = findModuleFromOptions;
80
+ /**
81
+ * Function to find the "closest" module to a generated file's path.
82
+ */
83
+ function findModule(host, generateDir, moduleExt = exports.MODULE_EXT, routingModuleExt = exports.ROUTING_MODULE_EXT) {
84
+ let dir = host.getDir('/' + generateDir);
85
+ let foundRoutingModule = false;
86
+ while (dir) {
87
+ const allMatches = dir.subfiles.filter((p) => p.endsWith(moduleExt));
88
+ const filteredMatches = allMatches.filter((p) => !p.endsWith(routingModuleExt));
89
+ foundRoutingModule =
90
+ foundRoutingModule || allMatches.length !== filteredMatches.length;
91
+ if (filteredMatches.length == 1) {
92
+ return (0, core_1.join)(dir.path, filteredMatches[0]);
93
+ }
94
+ else if (filteredMatches.length > 1) {
95
+ return null;
96
+ throw new Error('More than one module matches. Use skip-import option to skip importing ' +
97
+ 'the component into the closest module.');
98
+ }
99
+ dir = dir.parent;
100
+ }
101
+ const errorMsg = foundRoutingModule
102
+ ? 'Could not find a non Routing NgModule.' +
103
+ `\nModules with suffix '${routingModuleExt}' are strictly reserved for routing.` +
104
+ '\nUse the skip-import option to skip importing in NgModule.'
105
+ : 'Could not find an NgModule. Use the skip-import option to skip importing in NgModule.';
106
+ return null;
107
+ throw new Error(errorMsg);
108
+ }
109
+ exports.findModule = findModule;
110
+ //# sourceMappingURL=find-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-module.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/find-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ /**
3
+ * Adds a script to the package.json
4
+ */
5
+ export declare function addScriptToPackageJson(host: Tree, scriptName: string, script: string): Tree;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addScriptToPackageJson = void 0;
4
+ /**
5
+ * Adds a script to the package.json
6
+ */
7
+ function addScriptToPackageJson(host, scriptName, script) {
8
+ const packageFile = host.read('package.json');
9
+ if (packageFile !== null) {
10
+ const sourceText = packageFile.toString('utf-8');
11
+ const json = JSON.parse(sourceText);
12
+ json['scripts'] ??= {};
13
+ json['scripts'][scriptName] = script;
14
+ host.overwrite('package.json', JSON.stringify(json, null, 2));
15
+ }
16
+ return host;
17
+ }
18
+ exports.addScriptToPackageJson = addScriptToPackageJson;
19
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/package.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,sBAAsB,CACpC,IAAU,EACV,UAAkB,EAClB,MAAc;IAEd,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,WAAW,KAAK,IAAI,EAAE;QACxB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/D;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,wDAgBC"}
@@ -0,0 +1,8 @@
1
+ import { WorkspaceSchema } from '@schematics/angular/utility/workspace-models';
2
+ import { Tree } from '@angular-devkit/schematics';
3
+ export declare function getWorkspacePath(host: Tree): string;
4
+ export declare function getWorkspace(host: Tree): WorkspaceSchema;
5
+ export declare function setWorkspace(host: Tree, workspace: any): void;
6
+ export declare function getProject(host: Tree, project?: string): import("@schematics/angular/utility/workspace-models").WorkspaceProject<import("@schematics/angular/utility/workspace-models").ProjectType>;
7
+ export declare function setEnvironments(host: Tree, sourceRoot: string, transformer: (env: string) => string): void;
8
+ export declare function getProjectPath(host: Tree, project: any, options: any): any;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProjectPath = exports.setEnvironments = exports.getProject = exports.setWorkspace = exports.getWorkspace = exports.getWorkspacePath = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ function getWorkspacePath(host) {
6
+ const possibleFiles = ['/angular.json', '/.angular.json'];
7
+ const [path] = possibleFiles.filter((path) => host.exists(path));
8
+ return path;
9
+ }
10
+ exports.getWorkspacePath = getWorkspacePath;
11
+ function getWorkspace(host) {
12
+ const path = getWorkspacePath(host);
13
+ const configBuffer = host.read(path);
14
+ if (configBuffer === null) {
15
+ throw new schematics_1.SchematicsException(`Could not find (${path})`);
16
+ }
17
+ const config = configBuffer.toString();
18
+ return JSON.parse(config);
19
+ }
20
+ exports.getWorkspace = getWorkspace;
21
+ function setWorkspace(host, workspace) {
22
+ const path = getWorkspacePath(host);
23
+ host.overwrite(path, JSON.stringify(workspace, null, 2));
24
+ }
25
+ exports.setWorkspace = setWorkspace;
26
+ function getProject(host, project) {
27
+ const workspace = getWorkspace(host);
28
+ if (workspace) {
29
+ return workspace.projects[project];
30
+ }
31
+ throw new schematics_1.SchematicsException('could not find a workspace project');
32
+ }
33
+ exports.getProject = getProject;
34
+ function setEnvironments(host, sourceRoot, transformer) {
35
+ const path = sourceRoot + '/environments';
36
+ const environments = host.getDir(path);
37
+ return environments.subfiles.forEach((file) => {
38
+ const filePath = `${path}/${file}`;
39
+ const configBuffer = host.read(filePath);
40
+ const source = configBuffer.toString('utf-8');
41
+ host.overwrite(filePath, transformer(source));
42
+ });
43
+ }
44
+ exports.setEnvironments = setEnvironments;
45
+ function getProjectPath(host, project, options) {
46
+ if (project.root.substr(-1) === '/') {
47
+ project.root = project.root.substr(0, project.root.length - 1);
48
+ }
49
+ if (options.path === undefined) {
50
+ const projectDirName = project.projectType === 'application' ? 'app' : 'lib';
51
+ return `${project.root ? `/${project.root}` : ''}/src/${projectDirName}`;
52
+ }
53
+ return options.path;
54
+ }
55
+ exports.getProjectPath = getProjectPath;
56
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import { TranslationFileTypes } from '../ng-add/schema';
3
+ export declare function checkIfTranslationFilesExist(path: string, langs: string[], extension: string, skipThrow?: boolean): boolean;
4
+ export declare function createTranslateFilesFromOptions(host: Tree, options: {
5
+ translateType?: TranslationFileTypes;
6
+ langs: string[];
7
+ }, translationFilePath: any): import("@angular-devkit/schematics").Source;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTranslateFilesFromOptions = exports.checkIfTranslationFilesExist = void 0;
4
+ const p = require("node:path");
5
+ const fs = require("fs");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ const schema_1 = require("../ng-add/schema");
8
+ const translation_files_gen_1 = require("../ng-add/generators/translation-files.gen");
9
+ function checkIfTranslationFilesExist(path, langs, extension, skipThrow) {
10
+ for (const lang of langs) {
11
+ const filePath = p.resolve(`${path}/${lang}${extension}`);
12
+ if (fs.existsSync(filePath)) {
13
+ if (skipThrow) {
14
+ return true;
15
+ }
16
+ throw new schematics_1.SchematicsException(`Translation file ${filePath} is already exist, please use --skip-creation`);
17
+ }
18
+ }
19
+ return false;
20
+ }
21
+ exports.checkIfTranslationFilesExist = checkIfTranslationFilesExist;
22
+ function createTranslateFilesFromOptions(host, options, translationFilePath) {
23
+ const extension = options.translateType === schema_1.TranslationFileTypes.Typescript ? '.ts' : '.json';
24
+ const translationCreator = options.translateType === schema_1.TranslationFileTypes.Typescript
25
+ ? translation_files_gen_1.typescriptTranslationFileCreator
26
+ : translation_files_gen_1.jsonTranslationFileCreator;
27
+ checkIfTranslationFilesExist(translationFilePath, options.langs, extension);
28
+ return (0, translation_files_gen_1.createTranslateFiles)(options.langs, translationCreator, translationFilePath);
29
+ }
30
+ exports.createTranslateFilesFromOptions = createTranslateFilesFromOptions;
31
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/translations.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yBAAyB;AAEzB,2DAAuE;AAEvE,6CAAwD;AACxD,sFAIoD;AAEpD,SAAgB,4BAA4B,CAC1C,IAAY,EACZ,KAAe,EACf,SAAiB,EACjB,SAAmB;IAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC3B,IAAI,SAAS,EAAE;gBACb,OAAO,IAAI,CAAC;aACb;YACD,MAAM,IAAI,gCAAmB,CAC3B,oBAAoB,QAAQ,+CAA+C,CAC5E,CAAC;SACH;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAlBD,oEAkBC;AAED,SAAgB,+BAA+B,CAC7C,IAAU,EACV,OAAkE,EAClE,mBAAmB;IAEnB,MAAM,SAAS,GACb,OAAO,CAAC,aAAa,KAAK,6BAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9E,MAAM,kBAAkB,GACtB,OAAO,CAAC,aAAa,KAAK,6BAAoB,CAAC,UAAU;QACvD,CAAC,CAAC,wDAAgC;QAClC,CAAC,CAAC,kDAA0B,CAAC;IAEjC,4BAA4B,CAAC,mBAAmB,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE5E,OAAO,IAAA,4CAAoB,EACzB,OAAO,CAAC,KAAK,EACb,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAnBD,0EAmBC"}
@@ -0,0 +1,24 @@
1
+ import { PathFragment } from '@angular-devkit/core';
2
+ import { DirEntry, Tree } from '@angular-devkit/schematics';
3
+ import { TranslocoGlobalConfig } from '@jsverse/transloco-utils';
4
+ import { SchemaOptions } from '../join/schema';
5
+ export declare function createConfig(host: Tree, langs: string[], rootTranslationsPath?: string): void;
6
+ export declare function updateConfig(host: Tree, config: TranslocoGlobalConfig): void;
7
+ export declare function getJsonFileContent(fileName: PathFragment, dir: DirEntry, parser?: (text: string, reviver?: (this: any, key: string, value: any) => any) => any): any;
8
+ export declare function setFileContent(host: Tree, dirPath: string, fileName: PathFragment, content: any): void;
9
+ export declare function hasSubdirs(dir: DirEntry): number;
10
+ export declare function hasFiles(dir: DirEntry): number;
11
+ export declare function getTranslationKey(prefix: string, key: any): any;
12
+ export declare function getTranslationsRoot(host: Tree, options: {
13
+ project?: string;
14
+ translationPath?: string;
15
+ }): string;
16
+ export declare function getTranslationFiles(host: Tree, root: string, parser?: any): {
17
+ lang: string;
18
+ translation: Record<string, unknown>;
19
+ }[];
20
+ export declare function getTranslationEntryPaths(host: Tree, rootDirPath: string): {
21
+ scope: string;
22
+ path: string;
23
+ }[];
24
+ export declare function getDefaultLang(options: SchemaOptions): string;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultLang = exports.getTranslationEntryPaths = exports.getTranslationFiles = exports.getTranslationsRoot = exports.getTranslationKey = exports.hasFiles = exports.hasSubdirs = exports.setFileContent = exports.getJsonFileContent = exports.updateConfig = exports.createConfig = void 0;
4
+ const p = require("node:path");
5
+ const schematics_consts_1 = require("../schematics.consts");
6
+ const array_1 = require("./array");
7
+ const projects_1 = require("./projects");
8
+ const config_1 = require("./config");
9
+ function createConfig(host, langs, rootTranslationsPath = 'assets/i18n/') {
10
+ if (!host.get(schematics_consts_1.CONFIG_FILE)) {
11
+ const config = `module.exports = {
12
+ rootTranslationsPath: '${rootTranslationsPath}',
13
+ langs: [${(0, array_1.stringifyList)(langs)}],
14
+ keysManager: {}
15
+ };`;
16
+ host.create(schematics_consts_1.CONFIG_FILE, config);
17
+ }
18
+ }
19
+ exports.createConfig = createConfig;
20
+ function updateConfig(host, config) {
21
+ const originalConfig = (0, config_1.getConfig)();
22
+ if (!originalConfig || Object.keys(originalConfig).length === 0) {
23
+ return createConfig(host, config.langs, config.rootTranslationsPath);
24
+ }
25
+ const stringifyConfig = JSON.stringify({ ...config, ...originalConfig }, null, 2);
26
+ const content = `module.exports = ${stringifyConfig};`;
27
+ host.overwrite(schematics_consts_1.CONFIG_FILE, content);
28
+ }
29
+ exports.updateConfig = updateConfig;
30
+ function getJsonFileContent(fileName, dir, parser = JSON.parse) {
31
+ return parser(dir.file(fileName).content.toString('utf-8'));
32
+ }
33
+ exports.getJsonFileContent = getJsonFileContent;
34
+ function setFileContent(host, dirPath, fileName, content) {
35
+ return host.overwrite(p.join(dirPath, fileName), JSON.stringify(content, null, 2));
36
+ }
37
+ exports.setFileContent = setFileContent;
38
+ function hasSubdirs(dir) {
39
+ return dir.subdirs && dir.subdirs.length;
40
+ }
41
+ exports.hasSubdirs = hasSubdirs;
42
+ function hasFiles(dir) {
43
+ return dir.subfiles && dir.subfiles.length;
44
+ }
45
+ exports.hasFiles = hasFiles;
46
+ function getTranslationKey(prefix = '', key) {
47
+ return prefix ? `${prefix}.${key}` : key;
48
+ }
49
+ exports.getTranslationKey = getTranslationKey;
50
+ function getTranslationsRoot(host, options) {
51
+ const translocoConfig = (0, config_1.getConfig)();
52
+ if (options.translationPath) {
53
+ return options.translationPath;
54
+ }
55
+ else if (translocoConfig && translocoConfig.rootTranslationsPath) {
56
+ return translocoConfig.rootTranslationsPath;
57
+ }
58
+ else {
59
+ const project = (0, projects_1.getProject)(host, options.project);
60
+ const rootPath = (project && project.sourceRoot) || 'src';
61
+ return p.join(rootPath, 'assets', 'i18n');
62
+ }
63
+ }
64
+ exports.getTranslationsRoot = getTranslationsRoot;
65
+ function getTranslationFiles(host, root, parser) {
66
+ const rootDir = host.getDir(root);
67
+ return rootDir.subfiles.map((fileName) => ({
68
+ lang: fileName.split('.')[0],
69
+ translation: getJsonFileContent(fileName, rootDir, parser),
70
+ }));
71
+ }
72
+ exports.getTranslationFiles = getTranslationFiles;
73
+ function getTranslationEntryPaths(host, rootDirPath) {
74
+ const translocoConfig = (0, config_1.getConfig)();
75
+ if (translocoConfig.scopePathMap &&
76
+ Object.keys(translocoConfig.scopePathMap).length) {
77
+ return Object.entries(translocoConfig.scopePathMap).map(([scope, path]) => ({
78
+ scope,
79
+ path,
80
+ }));
81
+ }
82
+ const rootDir = host.getDir(rootDirPath);
83
+ return rootDir.subdirs.map((subDir) => ({
84
+ scope: subDir,
85
+ path: p.join(rootDirPath, subDir),
86
+ }));
87
+ }
88
+ exports.getTranslationEntryPaths = getTranslationEntryPaths;
89
+ function getDefaultLang(options) {
90
+ return options.defaultLang || (0, config_1.getConfig)().defaultLang;
91
+ }
92
+ exports.getDefaultLang = getDefaultLang;
93
+ //# sourceMappingURL=transloco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transloco.js","sourceRoot":"","sources":["../../../../../../libs/transloco-schematics/src/utils/transloco.ts"],"names":[],"mappings":"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"}