Compare commits

...

7 Commits

Author SHA1 Message Date
Kim Biesbjerg
567a0586dc Update deps 2021-04-14 10:08:21 +02:00
Jabi
17dfbbed84 enable piped argument on function calls (#233) 2021-04-14 10:00:44 +02:00
Kim Biesbjerg
acdffe0121 Merge branch 'master' of https://github.com/biesbjerg/ngx-translate-extract into master 2020-09-29 11:56:31 +02:00
Kim Biesbjerg
116133ba32 Bump version 7.0.3 2020-09-29 11:56:03 +02:00
Kim Biesbjerg
50b2ca6f4a (chore) Update deps, allow newer version of typescript and angular compiler 2020-09-29 11:55:17 +02:00
Kim Biesbjerg
b46a914756 Update README.md 2020-08-05 12:59:00 +02:00
Kim Biesbjerg
bc3e5fbe2f fix typo 2020-06-25 10:52:24 +02:00
5 changed files with 642 additions and 952 deletions

View File

@@ -101,7 +101,8 @@ Examples:
ngx-translate-extract -i './src/**/*.{ts,tsx,html}' -o strings.json Extract from ts, tsx and html ngx-translate-extract -i './src/**/*.{ts,tsx,html}' -o strings.json Extract from ts, tsx and html
ngx-translate-extract -i './src/**/!(*.spec).{ts,html}' -o Extract from ts, html, excluding files with ".spec" ngx-translate-extract -i './src/**/!(*.spec).{ts,html}' -o Extract from ts, html, excluding files with ".spec"
strings.json strings.json
```
## Note for GetText users ## Note for GetText users
Please pay attention of which version of `gettext-parser` you actually use in your project. For instance, `gettext-parser:1.2.2` does not support HTML tags in translation keys. Please pay attention of which version of `gettext-parser` you actually use in your project. For instance, `gettext-parser:1.2.2` does not support HTML tags in translation keys.

1530
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@biesbjerg/ngx-translate-extract", "name": "@biesbjerg/ngx-translate-extract",
"version": "7.0.1", "version": "7.0.3",
"description": "Extract strings from projects using ngx-translate", "description": "Extract strings from projects using ngx-translate",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@@ -61,44 +61,44 @@
}, },
"config": {}, "config": {},
"devDependencies": { "devDependencies": {
"@angular/compiler": "^9.1.11", "@angular/compiler": "^11.2.9",
"@types/braces": "^3.0.0", "@types/braces": "^3.0.0",
"@types/chai": "^4.2.11", "@types/chai": "^4.2.16",
"@types/flat": "^5.0.1", "@types/flat": "^5.0.1",
"@types/gettext-parser": "4.0.0", "@types/gettext-parser": "4.0.0",
"@types/glob": "^7.1.2", "@types/glob": "^7.1.3",
"@types/mkdirp": "^1.0.1", "@types/mkdirp": "^1.0.1",
"@types/mocha": "^7.0.2", "@types/mocha": "^8.2.2",
"@types/node": "^12.12.47", "@types/node": "^14.14.37",
"@types/yargs": "^15.0.5", "@types/yargs": "^16.0.1",
"braces": "^3.0.2", "braces": "^3.0.2",
"chai": "^4.2.0", "chai": "^4.3.4",
"husky": "^4.2.5", "husky": "^6.0.0",
"lint-staged": "^10.2.11", "lint-staged": "^10.5.4",
"mocha": "^8.0.0", "mocha": "^8.3.2",
"prettier": "^2.0.5", "prettier": "^2.2.1",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"ts-node": "^8.10.2", "ts-node": "^9.1.1",
"tslint": "^6.1.2", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0", "tslint-config-prettier": "^1.18.0",
"tslint-eslint-rules": "^5.4.0", "tslint-eslint-rules": "^5.4.0",
"tslint-etc": "^1.11.1", "tslint-etc": "^1.13.9",
"typescript": "^3.9.5" "typescript": "^4.2.4"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/compiler": "^8.0.0 || ^9.0.0 || 10.0.0^", "@angular/compiler": ">=8.0.0",
"typescript": "^3.0.0" "typescript": ">=3.0.0"
}, },
"dependencies": { "dependencies": {
"@phenomnomnominal/tsquery": "^4.1.0", "@phenomnomnominal/tsquery": "^4.1.1",
"boxen": "^4.2.0", "boxen": "^5.0.1",
"colorette": "^1.2.0", "colorette": "^1.2.2",
"flat": "^5.0.0", "flat": "^5.0.2",
"gettext-parser": "^4.0.3", "gettext-parser": "^4.0.4",
"glob": "^7.1.6", "glob": "^7.1.6",
"mkdirp": "^1.0.4", "mkdirp": "^1.0.4",
"path": "^0.12.7", "path": "^0.12.7",
"terminal-link": "^2.1.1", "terminal-link": "^2.1.1",
"yargs": "^15.3.1" "yargs": "^16.2.0"
} }
} }

View File

@@ -9,7 +9,8 @@ import {
Binary, Binary,
LiteralMap, LiteralMap,
LiteralArray, LiteralArray,
Interpolation Interpolation,
MethodCall
} from '@angular/compiler'; } from '@angular/compiler';
import { ParserInterface } from './parser.interface'; import { ParserInterface } from './parser.interface';
@@ -131,6 +132,10 @@ export class PipeParser implements ParserInterface {
return this.getTranslatablesFromAsts(ast.expressions); return this.getTranslatablesFromAsts(ast.expressions);
} }
if (ast instanceof MethodCall) {
return this.getTranslatablesFromAsts(ast.args);
}
return []; return [];
} }

View File

@@ -195,4 +195,10 @@ describe('PipeParser', () => {
const keys = parser.extract(contents, templateFilename).keys(); const keys = parser.extract(contents, templateFilename).keys();
expect(keys).to.deep.equal([]); expect(keys).to.deep.equal([]);
}); });
it('should extract strings from piped arguments inside a function calls on templates', () => {
const contents = `{{ callMe('Hello' | translate, 'World' | translate ) }}`;
const keys = parser.extract(contents, templateFilename).keys();
expect(keys).to.deep.equal([`Hello`, `World`]);
});
}); });