@jsverse/transloco 8.1.0 → 8.2.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.
- package/CHANGELOG.md +24 -0
- package/README.md +4 -4
- package/esm2022/lib/transloco-fallback-strategy.mjs +3 -2
- package/esm2022/lib/transloco-lang.mjs +2 -2
- package/esm2022/lib/transloco-loading-template.mjs +3 -2
- package/esm2022/lib/transloco-missing-handler.mjs +3 -2
- package/esm2022/lib/transloco-scope.mjs +3 -2
- package/esm2022/lib/transloco-testing.module.mjs +4 -3
- package/esm2022/lib/transloco.config.mjs +4 -2
- package/esm2022/lib/transloco.interceptor.mjs +3 -2
- package/esm2022/lib/transloco.loader.mjs +3 -2
- package/esm2022/lib/transloco.service.mjs +6 -5
- package/esm2022/lib/transloco.signal.mjs +12 -5
- package/esm2022/lib/transloco.transpiler.mjs +3 -2
- package/fesm2022/jsverse-transloco.mjs +37 -19
- package/fesm2022/jsverse-transloco.mjs.map +1 -1
- package/lib/transloco.config.d.ts +1 -0
- package/package.json +2 -2
- package/schematics/ng-add/ng-add.spec.js +21 -7
- package/schematics/ng-add/ng-add.spec.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsverse/transloco",
|
|
3
|
-
"version": "8.1
|
|
3
|
+
"version": "8.2.1",
|
|
4
4
|
"description": "The internationalization (i18n) library for Angular",
|
|
5
5
|
"schematics": "./schematics/collection.json",
|
|
6
6
|
"publishConfig": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"tslib": "^2.2.0",
|
|
33
33
|
"@jsverse/utils": "1.0.0-beta.5",
|
|
34
|
-
"@jsverse/transloco-utils": "^8.1
|
|
34
|
+
"@jsverse/transloco-utils": "^8.2.1"
|
|
35
35
|
},
|
|
36
36
|
"sideEffects": false,
|
|
37
37
|
"module": "fesm2022/jsverse-transloco.mjs",
|
|
@@ -16,7 +16,9 @@ const collectionPath = nodePath.join(__dirname, '../collection.json');
|
|
|
16
16
|
describe('ng add', () => {
|
|
17
17
|
const schematicRunner = new testing_1.SchematicTestRunner('schematics', collectionPath);
|
|
18
18
|
describe('Ng module', () => {
|
|
19
|
-
it(
|
|
19
|
+
it(`GIVEN an NgModule-based Angular project
|
|
20
|
+
WHEN ng-add schematic runs for project 'bar'
|
|
21
|
+
THEN transloco config, loader, and root module are created`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
22
|
const options = { project: 'bar' };
|
|
21
23
|
const tree = yield schematicRunner.runSchematic('ng-add', options, yield (0, testing_2.createWorkspace)(schematicRunner, {
|
|
22
24
|
appOptions: { standalone: false },
|
|
@@ -29,7 +31,9 @@ describe('ng add', () => {
|
|
|
29
31
|
}));
|
|
30
32
|
});
|
|
31
33
|
describe('Standalone', () => {
|
|
32
|
-
it(
|
|
34
|
+
it(`GIVEN a standalone Angular project
|
|
35
|
+
WHEN ng-add schematic runs for project 'bar'
|
|
36
|
+
THEN transloco config and loader are created and provideTransloco is added to app.config.ts`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
37
|
const options = { project: 'bar' };
|
|
34
38
|
const tree = yield schematicRunner.runSchematic('ng-add', options, yield (0, testing_2.createWorkspace)(schematicRunner));
|
|
35
39
|
expect(tree).toBeDefined();
|
|
@@ -39,7 +43,9 @@ describe('ng add', () => {
|
|
|
39
43
|
}));
|
|
40
44
|
});
|
|
41
45
|
describe('Folder Detection', () => {
|
|
42
|
-
it(
|
|
46
|
+
it(`GIVEN an Angular 18+ project with public folder
|
|
47
|
+
WHEN ng-add schematic runs
|
|
48
|
+
THEN translation files are created in public/i18n and loader uses correct path`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
49
|
const options = { project: 'bar' };
|
|
44
50
|
const initialTree = yield (0, testing_2.createWorkspace)(schematicRunner);
|
|
45
51
|
// Create public folder to simulate Angular 18+
|
|
@@ -52,7 +58,9 @@ describe('ng add', () => {
|
|
|
52
58
|
expect(loaderContent).toContain('/i18n/${lang}.json');
|
|
53
59
|
expect(loaderContent).not.toContain('/assets/i18n/');
|
|
54
60
|
}));
|
|
55
|
-
it(
|
|
61
|
+
it(`GIVEN a project with assets folder structure
|
|
62
|
+
WHEN ng-add schematic runs
|
|
63
|
+
THEN translation files are created in src/assets/i18n and loader uses correct path`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
64
|
const options = { project: 'bar' };
|
|
57
65
|
const initialTree = yield (0, testing_2.createWorkspace)(schematicRunner);
|
|
58
66
|
// Create assets folder to simulate traditional Angular structure
|
|
@@ -64,7 +72,9 @@ describe('ng add', () => {
|
|
|
64
72
|
const loaderContent = readFile(tree, 'app/transloco-loader.ts');
|
|
65
73
|
expect(loaderContent).toContain('/assets/i18n/${lang}.json');
|
|
66
74
|
}));
|
|
67
|
-
it(
|
|
75
|
+
it(`GIVEN ng-add schematic with custom path option
|
|
76
|
+
WHEN schematic runs
|
|
77
|
+
THEN translation files are created in custom path and loader uses correct path`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
78
|
const options = {
|
|
69
79
|
project: 'bar',
|
|
70
80
|
path: 'custom/translations/',
|
|
@@ -76,7 +86,9 @@ describe('ng add', () => {
|
|
|
76
86
|
const loaderContent = readFile(tree, 'app/transloco-loader.ts');
|
|
77
87
|
expect(loaderContent).toContain('/custom/translations/${lang}.json');
|
|
78
88
|
}));
|
|
79
|
-
it(
|
|
89
|
+
it(`GIVEN an Angular 18+ project without explicit folder indicators
|
|
90
|
+
WHEN ng-add schematic runs and checks package.json
|
|
91
|
+
THEN public/i18n is used based on Angular version detection`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
92
|
const options = { project: 'bar' };
|
|
81
93
|
const initialTree = yield (0, testing_2.createWorkspace)(schematicRunner);
|
|
82
94
|
// Simulate Angular 18+ by updating package.json
|
|
@@ -90,7 +102,9 @@ describe('ng add', () => {
|
|
|
90
102
|
const loaderContent = readFile(tree, 'app/transloco-loader.ts');
|
|
91
103
|
expect(loaderContent).toContain('/i18n/${lang}.json');
|
|
92
104
|
}));
|
|
93
|
-
it(
|
|
105
|
+
it(`GIVEN an Angular 17 project detected via package.json
|
|
106
|
+
WHEN ng-add schematic runs
|
|
107
|
+
THEN assets/i18n is used for pre-Angular 18 versions`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
108
|
const options = { project: 'bar' };
|
|
95
109
|
const initialTree = yield (0, testing_2.createWorkspace)(schematicRunner);
|
|
96
110
|
// Simulate Angular 17 by updating package.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-add.spec.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics/ng-add/ng-add.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAAsC;AAEtC,gEAG4C;AAE5C,2DAAgE;AAIhE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEtE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,MAAM,eAAe,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAE9E,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"ng-add.spec.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics/ng-add/ng-add.spec.ts"],"names":[],"mappings":"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"}
|