update ttag

This commit is contained in:
HF 2024-05-06 10:46:47 +02:00
parent f54ae5858d
commit 0550cdcbc0
Signed by: hf
GPG Key ID: E7ABBB827162F9CC
4 changed files with 61 additions and 52 deletions

69
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "PixelPlanet",
"version": "1.0.0",
"version": "1.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "PixelPlanet",
"version": "1.0.0",
"version": "1.1.0",
"dependencies": {
"bcrypt": "^5.1.1",
"chart.js": "^3.9.1",
@ -47,7 +47,7 @@
"startaudiocontext": "^1.2.1",
"three": "^0.143.0",
"three-trackballcontrols": "^0.9.0",
"ttag": "^1.8.3",
"ttag": "^1.8.6",
"url-search-params-polyfill": "^8.2.5",
"winston": "^3.11.0",
"winston-daily-rotate-file": "^4.5.5",
@ -64,7 +64,7 @@
"@babel/preset-react": "^7.23.3",
"babel-loader": "^9.1.3",
"babel-plugin-transform-react-pure-class-to-function": "^1.0.1",
"babel-plugin-ttag": "^1.8.5",
"babel-plugin-ttag": "^1.8.16",
"clean-css": "^5.2.2",
"clean-css-loader": "^4.2.1",
"copy-webpack-plugin": "^11.0.0",
@ -77,8 +77,7 @@
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"generate-package-json-webpack-plugin": "^2.6.0",
"ttag-cli": "^1.10.9",
"ttag-po-loader": "0.0.2",
"ttag-cli": "^1.10.12",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^5.1.4",
@ -3573,9 +3572,9 @@
}
},
"node_modules/babel-plugin-ttag": {
"version": "1.8.12",
"resolved": "https://registry.npmjs.org/babel-plugin-ttag/-/babel-plugin-ttag-1.8.12.tgz",
"integrity": "sha512-DsSzZz3JB1sA5etnJle0xvdWP1IxSMowbzsKrRGiU6eK0/28EXkpNzh8il8wKfzdeDbzVeJbFQem23MuOypuPg==",
"version": "1.8.16",
"resolved": "https://registry.npmjs.org/babel-plugin-ttag/-/babel-plugin-ttag-1.8.16.tgz",
"integrity": "sha512-UmA4KAvg3K1nzTBaqWox945CS3C1zjJu6lGZjmbOYW3NO2ps6mlIm8fnj9wjzNm2Y2nzUuD73aiAK9Rd3vTZgQ==",
"dev": true,
"dependencies": {
"@babel/generator": "^7.12.5",
@ -10659,18 +10658,18 @@
}
},
"node_modules/ttag": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/ttag/-/ttag-1.8.3.tgz",
"integrity": "sha512-y288refHe/3qmkEyplerQBEP5+b1PH0DLOGcKYb/QHiPptMLh500H1SkSYr03nIbJU1SwtUkcC1/ssb5xfzSJg==",
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/ttag/-/ttag-1.8.6.tgz",
"integrity": "sha512-GwSFsRnthBz+VazcbvoBXcuiorMBEPrHdN3aJHZiTQiuCC1l0fZR0jp405SZ4BCHjvH+qWtVzmSwU6iSvbiSLg==",
"dependencies": {
"dedent": "1.5.1",
"plural-forms": "^0.5.3"
}
},
"node_modules/ttag-cli": {
"version": "1.10.9",
"resolved": "https://registry.npmjs.org/ttag-cli/-/ttag-cli-1.10.9.tgz",
"integrity": "sha512-9+XqKhHaUoSMriRpm9OKAVR81nPoV9NOl100M9D0oQ11PUz0ywPPzsc55xPr1lU8wKdYIE93vyBKGVM72PBEmA==",
"version": "1.10.12",
"resolved": "https://registry.npmjs.org/ttag-cli/-/ttag-cli-1.10.12.tgz",
"integrity": "sha512-BXDbncFRz84+ejUf2Mu4AeVuNDFDguQAaLIr7nGwWThKvkOoe3jE7C4rRpi5eynL7HSUMaIGys6w1pkYYPm5PQ==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@ -10688,7 +10687,7 @@
"@babel/preset-react": "^7.12.5",
"@babel/preset-typescript": "7.7.0",
"@babel/template": "^7.10.4",
"babel-plugin-ttag": "1.8.12",
"babel-plugin-ttag": "1.8.16",
"babel-preset-const-enum": "^1.0.0",
"chalk": "^2.4.2",
"cross-spawn": "^5.1.0",
@ -10810,15 +10809,6 @@
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
"dev": true
},
"node_modules/ttag-po-loader": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/ttag-po-loader/-/ttag-po-loader-0.0.2.tgz",
"integrity": "sha512-fsvEtBcjiEOjBT5sPS35XNUDeyypyRdSvBEiKncKoy7IMe+L7oowfrcBk8WjzHCpkdJkaVrcvFZY2kBNHxL7QA==",
"dev": true,
"dependencies": {
"ttag-cli": "^1"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@ -14333,9 +14323,9 @@
}
},
"babel-plugin-ttag": {
"version": "1.8.12",
"resolved": "https://registry.npmjs.org/babel-plugin-ttag/-/babel-plugin-ttag-1.8.12.tgz",
"integrity": "sha512-DsSzZz3JB1sA5etnJle0xvdWP1IxSMowbzsKrRGiU6eK0/28EXkpNzh8il8wKfzdeDbzVeJbFQem23MuOypuPg==",
"version": "1.8.16",
"resolved": "https://registry.npmjs.org/babel-plugin-ttag/-/babel-plugin-ttag-1.8.16.tgz",
"integrity": "sha512-UmA4KAvg3K1nzTBaqWox945CS3C1zjJu6lGZjmbOYW3NO2ps6mlIm8fnj9wjzNm2Y2nzUuD73aiAK9Rd3vTZgQ==",
"dev": true,
"requires": {
"@babel/generator": "^7.12.5",
@ -19583,18 +19573,18 @@
"dev": true
},
"ttag": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/ttag/-/ttag-1.8.3.tgz",
"integrity": "sha512-y288refHe/3qmkEyplerQBEP5+b1PH0DLOGcKYb/QHiPptMLh500H1SkSYr03nIbJU1SwtUkcC1/ssb5xfzSJg==",
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/ttag/-/ttag-1.8.6.tgz",
"integrity": "sha512-GwSFsRnthBz+VazcbvoBXcuiorMBEPrHdN3aJHZiTQiuCC1l0fZR0jp405SZ4BCHjvH+qWtVzmSwU6iSvbiSLg==",
"requires": {
"dedent": "1.5.1",
"plural-forms": "^0.5.3"
}
},
"ttag-cli": {
"version": "1.10.9",
"resolved": "https://registry.npmjs.org/ttag-cli/-/ttag-cli-1.10.9.tgz",
"integrity": "sha512-9+XqKhHaUoSMriRpm9OKAVR81nPoV9NOl100M9D0oQ11PUz0ywPPzsc55xPr1lU8wKdYIE93vyBKGVM72PBEmA==",
"version": "1.10.12",
"resolved": "https://registry.npmjs.org/ttag-cli/-/ttag-cli-1.10.12.tgz",
"integrity": "sha512-BXDbncFRz84+ejUf2Mu4AeVuNDFDguQAaLIr7nGwWThKvkOoe3jE7C4rRpi5eynL7HSUMaIGys6w1pkYYPm5PQ==",
"dev": true,
"requires": {
"@babel/core": "^7.12.3",
@ -19611,7 +19601,7 @@
"@babel/preset-react": "^7.12.5",
"@babel/preset-typescript": "7.7.0",
"@babel/template": "^7.10.4",
"babel-plugin-ttag": "1.8.12",
"babel-plugin-ttag": "1.8.16",
"babel-preset-const-enum": "^1.0.0",
"chalk": "^2.4.2",
"cross-spawn": "^5.1.0",
@ -19717,15 +19707,6 @@
}
}
},
"ttag-po-loader": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/ttag-po-loader/-/ttag-po-loader-0.0.2.tgz",
"integrity": "sha512-fsvEtBcjiEOjBT5sPS35XNUDeyypyRdSvBEiKncKoy7IMe+L7oowfrcBk8WjzHCpkdJkaVrcvFZY2kBNHxL7QA==",
"dev": true,
"requires": {
"ttag-cli": "^1"
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",

View File

@ -67,7 +67,7 @@
"startaudiocontext": "^1.2.1",
"three": "^0.143.0",
"three-trackballcontrols": "^0.9.0",
"ttag": "^1.8.3",
"ttag": "^1.8.6",
"url-search-params-polyfill": "^8.2.5",
"winston": "^3.11.0",
"winston-daily-rotate-file": "^4.5.5",
@ -84,7 +84,7 @@
"@babel/preset-react": "^7.23.3",
"babel-loader": "^9.1.3",
"babel-plugin-transform-react-pure-class-to-function": "^1.0.1",
"babel-plugin-ttag": "^1.8.5",
"babel-plugin-ttag": "^1.8.16",
"clean-css": "^5.2.2",
"clean-css-loader": "^4.2.1",
"copy-webpack-plugin": "^11.0.0",
@ -97,8 +97,7 @@
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"generate-package-json-webpack-plugin": "^2.6.0",
"ttag-cli": "^1.10.9",
"ttag-po-loader": "0.0.2",
"ttag-cli": "^1.10.12",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^5.1.4",

32
scripts/TtagPoLoader.js Normal file
View File

@ -0,0 +1,32 @@
/*
* webpack loader that reads po files
*/
const parser = require("ttag-cli/dist/src/lib/parser");
module.exports = function (source) {
if (this.cacheable) this.cacheable();
const includeFuzzy = this.getOptions().includeFuzzy;
let poData = parser.parse(source);
for (const ctxt of Object.values(poData.translations)) {
for (const msgid of Object.keys(ctxt)) {
const msg = ctxt[msgid];
if (msg.comments) {
if (!includeFuzzy && msg.comments.flag
&& msg.comments.flag.includes('fuzzy')) {
delete ctxt[msgid];
} else {
delete msg.comments;
}
}
}
}
value = JSON.stringify(poData)
.replace(/\u2028/g, '\\u2028')
.replace(/\u2029/g, '\\u2029');
return `export default ${ value };`;
}

View File

@ -115,10 +115,7 @@ module.exports = ({
},
{
test: [/\.po$/],
loader: 'ttag-po-loader',
options: {
excludeFuzzy: true,
},
loader: path.resolve('scripts/TtagPoLoader.js'),
},
],
},