From 034f832932d1a9646b50039c46ed3d88c80aa2e6 Mon Sep 17 00:00:00 2001 From: Grand Julivan Date: Fri, 25 Oct 2024 13:36:21 +0200 Subject: [PATCH] feat(i18n): create-translation --- .../utils/bin/rui-create-translation.ts | 72 +++++++++++++++++++ automation/utils/package.json | 3 +- automation/utils/src/widget-file-xml.ts | 39 ++++++++++ package.json | 1 + .../accessibility-helper-web/package.json | 1 + .../accordion-web/package.json | 1 + .../area-chart-web/package.json | 3 +- .../badge-button-web/package.json | 1 + .../pluggableWidgets/badge-web/package.json | 1 + .../bar-chart-web/package.json | 3 +- .../barcode-scanner-web/package.json | 1 + .../bubble-chart-web/package.json | 3 +- .../carousel-web/package.json | 1 + .../chart-playground-web/package.json | 3 +- .../color-picker-web/package.json | 1 + .../column-chart-web/package.json | 3 +- .../combobox-web/package.json | 1 + .../datagrid-date-filter-web/package.json | 3 +- .../datagrid-dropdown-filter-web/package.json | 3 +- .../datagrid-number-filter-web/package.json | 3 +- .../datagrid-text-filter-web/package.json | 3 +- .../datagrid-web/package.json | 3 +- .../dropdown-sort-web/package.json | 3 +- .../pluggableWidgets/events-web/package.json | 1 + .../fieldset-web/package.json | 1 + .../fileuploader-web/package.json | 3 +- .../pluggableWidgets/gallery-web/package.json | 3 +- .../google-tag-web/package.json | 1 + .../heatmap-chart-web/package.json | 3 +- .../html-element-web/package.json | 3 +- .../pluggableWidgets/image-web/package.json | 1 + .../language-selector-web/package.json | 1 + .../line-chart-web/package.json | 3 +- .../pluggableWidgets/maps-web/package.json | 1 + .../markdown-web/package.json | 1 + .../pie-doughnut-chart-web/package.json | 3 +- .../popup-menu-web/package.json | 1 + .../progress-bar-web/package.json | 1 + .../progress-circle-web/package.json | 1 + .../range-slider-web/package.json | 1 + .../pluggableWidgets/rating-web/package.json | 1 + .../rich-text-web/package.json | 1 + .../selection-helper-web/package.json | 3 +- .../pluggableWidgets/slider-web/package.json | 1 + .../pluggableWidgets/switch-web/package.json | 1 + .../time-series-chart-web/package.json | 3 +- .../timeline-web/package.json | 1 + .../pluggableWidgets/tooltip-web/package.json | 1 + .../tree-node-web/package.json | 3 +- .../video-player-web/package.json | 1 + turbo.json | 5 ++ 51 files changed, 185 insertions(+), 21 deletions(-) create mode 100644 automation/utils/bin/rui-create-translation.ts create mode 100644 automation/utils/src/widget-file-xml.ts diff --git a/automation/utils/bin/rui-create-translation.ts b/automation/utils/bin/rui-create-translation.ts new file mode 100644 index 0000000000..c4f427c44c --- /dev/null +++ b/automation/utils/bin/rui-create-translation.ts @@ -0,0 +1,72 @@ +#!/usr/bin/env ts-node-script +import { mkdir, writeFile } from "fs/promises"; +import path from "node:path"; +import { dirname } from "path"; +import { getPackageFileContent, PackageSchema } from "../src"; +import { readXml } from "../src/package-xml"; +import { findCaptionsAndDescriptions, getWidgetXMLName, type Result } from "../src/widget-file-xml"; +async function main(): Promise { + console.log(`Creating translation i18n format...`); + const path = process.cwd(); + + const raw = await getPackageFileContent(path); + // To get better error output from zod use empty objects + const target = { + mxpackage: {}, + marketplace: {}, + repository: {}, + testProject: {}, + ...raw + }; + + // First, check common fields + const info = PackageSchema.parse(target); + + switch (info.mxpackage.type) { + case "widget": { + createTranslation(path); + break; + } + case "module": { + // TODO: ? + break; + } + case "jsactions": { + // TODO: ? + break; + } + } +} + +export async function createTranslation(cwd: string) { + const widgetXMLName = await getWidgetXMLName(cwd); + if (widgetXMLName) { + const obj = await readXml(path.join(cwd, "src", widgetXMLName)); + const res = findCaptionsAndDescriptions(obj); + let fileName = "result"; + if (obj && typeof obj === "object" && obj["widget"] && obj["widget"]["@_id"]) { + fileName = obj["widget"]["@_id"].toLowerCase(); + } + writeResultToFile(res, `dist/locales/en-US/${fileName}.json`); + writeResultToFile(res, `../../../dist/locales/en-US/${fileName}.json`); + } +} + +// Function to ensure a directory exists +async function ensureDirectoryExists(filePath: string): Promise { + const dir = dirname(filePath); + await mkdir(dir, { recursive: true }); +} + +// Function to write JSON result to a file +async function writeResultToFile(result: Result, filename: string): Promise { + await ensureDirectoryExists(filename); + const jsonContent = JSON.stringify(result, null, 2); + await writeFile(filename, jsonContent, "utf-8"); + console.log(`JSON result has been written to ${filename}`); +} + +main().catch(e => { + console.error(e); + process.exit(1); +}); diff --git a/automation/utils/package.json b/automation/utils/package.json index dd77fd52bf..e2299e87ed 100644 --- a/automation/utils/package.json +++ b/automation/utils/package.json @@ -11,7 +11,8 @@ "rui-publish-marketplace": "bin/rui-publish-marketplace.ts", "rui-update-changelog-module": "bin/rui-update-changelog-module.ts", "rui-update-changelog-widget": "bin/rui-update-changelog-widget.ts", - "rui-verify-package-format": "bin/rui-verify-package-format.ts" + "rui-verify-package-format": "bin/rui-verify-package-format.ts", + "rui-create-translation": "bin/rui-create-translation.ts" }, "scripts": { "start": "tsc --watch", diff --git a/automation/utils/src/widget-file-xml.ts b/automation/utils/src/widget-file-xml.ts new file mode 100644 index 0000000000..0105997794 --- /dev/null +++ b/automation/utils/src/widget-file-xml.ts @@ -0,0 +1,39 @@ +import { readPackageXml } from "./package-xml"; +export interface Result { + [key: string]: string; +} + +export async function getWidgetXMLName(cwd: string): Promise { + try { + const packageXml = (await readPackageXml(cwd)) as { + package?: { + clientModule?: { + widgetFiles: any; + }; + }; + }; + return packageXml?.package?.clientModule?.widgetFiles.widgetFile["@_path"]; + } catch { + return undefined; + } +} + +// Function to recursively find all captions and descriptions +export function findCaptionsAndDescriptions(obj: any, result: Result = {}): Result { + for (const key in obj) { + if (typeof obj[key] === "object") { + findCaptionsAndDescriptions(obj[key], result); + } else if (obj[key].trim() !== "") { + if ( + key.includes("@_caption") || + key.toLowerCase().includes("caption") || + key.toLowerCase().includes("description") + ) { + if (!result[obj[key]]) { + result[obj[key]] = obj[key]; + } + } + } + } + return result; +} diff --git a/package.json b/package.json index 9614baaaa1..6ba1ab9b32 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "build": "turbo run build", "release": "turbo run release", "create-gh-release": "turbo run create-gh-release --concurrency 1", + "create-translation": "turbo run create-translation", "publish-marketplace": "turbo run publish-marketplace", "version": "pnpm --filter @mendix/automation-utils run version", "changelog": "pnpm --filter @mendix/automation-utils run changelog" diff --git a/packages/pluggableWidgets/accessibility-helper-web/package.json b/packages/pluggableWidgets/accessibility-helper-web/package.json index 8ff7ffcdaf..0e761c1e48 100644 --- a/packages/pluggableWidgets/accessibility-helper-web/package.json +++ b/packages/pluggableWidgets/accessibility-helper-web/package.json @@ -33,6 +33,7 @@ "lint": "eslint --ext .jsx,.js,.ts,.tsx src/", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/accordion-web/package.json b/packages/pluggableWidgets/accordion-web/package.json index 5ce253683d..24f0997f61 100644 --- a/packages/pluggableWidgets/accordion-web/package.json +++ b/packages/pluggableWidgets/accordion-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/area-chart-web/package.json b/packages/pluggableWidgets/area-chart-web/package.json index d929b5c822..9b9e609d32 100644 --- a/packages/pluggableWidgets/area-chart-web/package.json +++ b/packages/pluggableWidgets/area-chart-web/package.json @@ -34,7 +34,8 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "verify": "rui-verify-package-format", - "update-changelog": "rui-update-changelog-widget" + "update-changelog": "rui-update-changelog-widget", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/badge-button-web/package.json b/packages/pluggableWidgets/badge-button-web/package.json index 99fc2e63ce..9c04ca05a6 100644 --- a/packages/pluggableWidgets/badge-button-web/package.json +++ b/packages/pluggableWidgets/badge-button-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=BadgeButton.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/badge-web/package.json b/packages/pluggableWidgets/badge-web/package.json index 33fa2473d7..2635a7c4bc 100644 --- a/packages/pluggableWidgets/badge-web/package.json +++ b/packages/pluggableWidgets/badge-web/package.json @@ -36,6 +36,7 @@ "e2edev": "run-e2e dev --with-preps", "release": "cross-env MPKOUTPUT=Badge.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget" diff --git a/packages/pluggableWidgets/bar-chart-web/package.json b/packages/pluggableWidgets/bar-chart-web/package.json index a1d30b9046..dd83f2b6cf 100644 --- a/packages/pluggableWidgets/bar-chart-web/package.json +++ b/packages/pluggableWidgets/bar-chart-web/package.json @@ -34,7 +34,8 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "verify": "rui-verify-package-format", - "update-changelog": "rui-update-changelog-widget" + "update-changelog": "rui-update-changelog-widget", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/barcode-scanner-web/package.json b/packages/pluggableWidgets/barcode-scanner-web/package.json index b4f2109b0d..d0d020a09f 100644 --- a/packages/pluggableWidgets/barcode-scanner-web/package.json +++ b/packages/pluggableWidgets/barcode-scanner-web/package.json @@ -36,6 +36,7 @@ "e2edev": "run-e2e dev --with-preps", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget" diff --git a/packages/pluggableWidgets/bubble-chart-web/package.json b/packages/pluggableWidgets/bubble-chart-web/package.json index d5935575e8..43a3e594e8 100644 --- a/packages/pluggableWidgets/bubble-chart-web/package.json +++ b/packages/pluggableWidgets/bubble-chart-web/package.json @@ -34,7 +34,8 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "verify": "rui-verify-package-format", - "update-changelog": "rui-update-changelog-widget" + "update-changelog": "rui-update-changelog-widget", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/carousel-web/package.json b/packages/pluggableWidgets/carousel-web/package.json index e39a66414f..3c2e080721 100644 --- a/packages/pluggableWidgets/carousel-web/package.json +++ b/packages/pluggableWidgets/carousel-web/package.json @@ -33,6 +33,7 @@ "test": "jest --projects jest.config.js", "release": "cross-env MPKOUTPUT=Carousel.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/chart-playground-web/package.json b/packages/pluggableWidgets/chart-playground-web/package.json index f202ffd357..cb1db15f27 100644 --- a/packages/pluggableWidgets/chart-playground-web/package.json +++ b/packages/pluggableWidgets/chart-playground-web/package.json @@ -36,7 +36,8 @@ "start": "pluggable-widgets-tools start:server", "test": "pluggable-widgets-tools test:unit:web", "update-changelog": "rui-update-changelog-widget", - "verify": "rui-verify-package-format" + "verify": "rui-verify-package-format", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/color-picker-web/package.json b/packages/pluggableWidgets/color-picker-web/package.json index 3db228f31d..c80f1b6c9d 100644 --- a/packages/pluggableWidgets/color-picker-web/package.json +++ b/packages/pluggableWidgets/color-picker-web/package.json @@ -33,6 +33,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=ColorPicker.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/column-chart-web/package.json b/packages/pluggableWidgets/column-chart-web/package.json index 052be4bf72..af3d17469d 100644 --- a/packages/pluggableWidgets/column-chart-web/package.json +++ b/packages/pluggableWidgets/column-chart-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/combobox-web/package.json b/packages/pluggableWidgets/combobox-web/package.json index 84adf43384..82a4794c4c 100644 --- a/packages/pluggableWidgets/combobox-web/package.json +++ b/packages/pluggableWidgets/combobox-web/package.json @@ -39,6 +39,7 @@ "e2edev": "run-e2e dev --with-preps", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget" diff --git a/packages/pluggableWidgets/datagrid-date-filter-web/package.json b/packages/pluggableWidgets/datagrid-date-filter-web/package.json index e8dccb3b45..4145682f88 100644 --- a/packages/pluggableWidgets/datagrid-date-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-date-filter-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm --filter data-widgets run build:include-deps" + "e2e-update-project": "pnpm --filter data-widgets run build:include-deps", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-external-events": "workspace:*", diff --git a/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json b/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json index 2358a27723..dea2794553 100644 --- a/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force" + "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-external-events": "workspace:*", diff --git a/packages/pluggableWidgets/datagrid-number-filter-web/package.json b/packages/pluggableWidgets/datagrid-number-filter-web/package.json index 9768f40969..79686bf89a 100644 --- a/packages/pluggableWidgets/datagrid-number-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-number-filter-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm --filter data-widgets run build:include-deps" + "e2e-update-project": "pnpm --filter data-widgets run build:include-deps", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-external-events": "workspace:*", diff --git a/packages/pluggableWidgets/datagrid-text-filter-web/package.json b/packages/pluggableWidgets/datagrid-text-filter-web/package.json index 7bdd8debb8..eb9acaebb8 100644 --- a/packages/pluggableWidgets/datagrid-text-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-text-filter-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm --filter data-widgets run build:include-deps" + "e2e-update-project": "pnpm --filter data-widgets run build:include-deps", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-component-kit": "workspace:*", diff --git a/packages/pluggableWidgets/datagrid-web/package.json b/packages/pluggableWidgets/datagrid-web/package.json index 150ce2a38c..35f18f7812 100644 --- a/packages/pluggableWidgets/datagrid-web/package.json +++ b/packages/pluggableWidgets/datagrid-web/package.json @@ -37,7 +37,8 @@ "release": "pluggable-widgets-tools release:ts", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", - "e2e-update-project": "pnpm --filter data-widgets run build:include-deps" + "e2e-update-project": "pnpm --filter data-widgets run build:include-deps", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-filtering": "workspace:*", diff --git a/packages/pluggableWidgets/dropdown-sort-web/package.json b/packages/pluggableWidgets/dropdown-sort-web/package.json index b72a4864f0..ca6631dd3a 100644 --- a/packages/pluggableWidgets/dropdown-sort-web/package.json +++ b/packages/pluggableWidgets/dropdown-sort-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force" + "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-filtering": "workspace:*" diff --git a/packages/pluggableWidgets/events-web/package.json b/packages/pluggableWidgets/events-web/package.json index 1733a5d91e..3f6f389ea4 100644 --- a/packages/pluggableWidgets/events-web/package.json +++ b/packages/pluggableWidgets/events-web/package.json @@ -39,6 +39,7 @@ "e2edev": "run-e2e dev --with-preps", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget" diff --git a/packages/pluggableWidgets/fieldset-web/package.json b/packages/pluggableWidgets/fieldset-web/package.json index 78b621fbc1..574052e9ca 100644 --- a/packages/pluggableWidgets/fieldset-web/package.json +++ b/packages/pluggableWidgets/fieldset-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/fileuploader-web/package.json b/packages/pluggableWidgets/fileuploader-web/package.json index 30a5cc24dc..a5f5f1409a 100644 --- a/packages/pluggableWidgets/fileuploader-web/package.json +++ b/packages/pluggableWidgets/fileuploader-web/package.json @@ -37,7 +37,8 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "verify": "rui-verify-package-format", - "update-changelog": "rui-update-changelog-widget" + "update-changelog": "rui-update-changelog-widget", + "create-translation": "rui-create-translation" }, "dependencies": { "classnames": "^2.2.6", diff --git a/packages/pluggableWidgets/gallery-web/package.json b/packages/pluggableWidgets/gallery-web/package.json index 7b3bd93000..9e34c60010 100644 --- a/packages/pluggableWidgets/gallery-web/package.json +++ b/packages/pluggableWidgets/gallery-web/package.json @@ -37,7 +37,8 @@ "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", "e2edev": "run-e2e dev --with-preps", - "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force" + "e2e-update-project": "pnpm -w exec turbo run build:module --filter data-widgets --force", + "create-translation": "rui-create-translation" }, "dependencies": { "@mendix/widget-plugin-external-events": "workspace:*", diff --git a/packages/pluggableWidgets/google-tag-web/package.json b/packages/pluggableWidgets/google-tag-web/package.json index fdb731f442..e9de69724c 100644 --- a/packages/pluggableWidgets/google-tag-web/package.json +++ b/packages/pluggableWidgets/google-tag-web/package.json @@ -39,6 +39,7 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace" }, "devDependencies": { diff --git a/packages/pluggableWidgets/heatmap-chart-web/package.json b/packages/pluggableWidgets/heatmap-chart-web/package.json index 8384583953..27e3d02e31 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/package.json +++ b/packages/pluggableWidgets/heatmap-chart-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/html-element-web/package.json b/packages/pluggableWidgets/html-element-web/package.json index 53ea6617fa..909e575749 100644 --- a/packages/pluggableWidgets/html-element-web/package.json +++ b/packages/pluggableWidgets/html-element-web/package.json @@ -36,7 +36,8 @@ "start": "pluggable-widgets-tools start:server", "test": "pluggable-widgets-tools test:unit:web", "update-changelog": "rui-update-changelog-widget", - "verify": "rui-verify-package-format" + "verify": "rui-verify-package-format", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/image-web/package.json b/packages/pluggableWidgets/image-web/package.json index f54c48edd8..58a4f43b88 100644 --- a/packages/pluggableWidgets/image-web/package.json +++ b/packages/pluggableWidgets/image-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/language-selector-web/package.json b/packages/pluggableWidgets/language-selector-web/package.json index 329695fc27..b9b3570853 100644 --- a/packages/pluggableWidgets/language-selector-web/package.json +++ b/packages/pluggableWidgets/language-selector-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/line-chart-web/package.json b/packages/pluggableWidgets/line-chart-web/package.json index 945171059c..e28c5fbe1e 100644 --- a/packages/pluggableWidgets/line-chart-web/package.json +++ b/packages/pluggableWidgets/line-chart-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/maps-web/package.json b/packages/pluggableWidgets/maps-web/package.json index 8e4826398c..2f18f00d6c 100644 --- a/packages/pluggableWidgets/maps-web/package.json +++ b/packages/pluggableWidgets/maps-web/package.json @@ -36,6 +36,7 @@ "e2edev": "run-e2e dev --with-preps", "release": "cross-env MPKOUTPUT=Maps.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget" diff --git a/packages/pluggableWidgets/markdown-web/package.json b/packages/pluggableWidgets/markdown-web/package.json index 840c50dd57..df2ebcd656 100644 --- a/packages/pluggableWidgets/markdown-web/package.json +++ b/packages/pluggableWidgets/markdown-web/package.json @@ -35,6 +35,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": " pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/pie-doughnut-chart-web/package.json b/packages/pluggableWidgets/pie-doughnut-chart-web/package.json index 439d8312cf..461f8070f7 100644 --- a/packages/pluggableWidgets/pie-doughnut-chart-web/package.json +++ b/packages/pluggableWidgets/pie-doughnut-chart-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/popup-menu-web/package.json b/packages/pluggableWidgets/popup-menu-web/package.json index 4ba087acbb..362c3975d8 100644 --- a/packages/pluggableWidgets/popup-menu-web/package.json +++ b/packages/pluggableWidgets/popup-menu-web/package.json @@ -33,6 +33,7 @@ "test": "jest --projects jest.config.js", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/progress-bar-web/package.json b/packages/pluggableWidgets/progress-bar-web/package.json index a4d2db1ccb..67b2d3ea55 100644 --- a/packages/pluggableWidgets/progress-bar-web/package.json +++ b/packages/pluggableWidgets/progress-bar-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=ProgressBar.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/progress-circle-web/package.json b/packages/pluggableWidgets/progress-circle-web/package.json index e5ad5feb54..f0f80c7db0 100644 --- a/packages/pluggableWidgets/progress-circle-web/package.json +++ b/packages/pluggableWidgets/progress-circle-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=ProgressCircle.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/range-slider-web/package.json b/packages/pluggableWidgets/range-slider-web/package.json index 48e8f8ca39..4205ba7da7 100644 --- a/packages/pluggableWidgets/range-slider-web/package.json +++ b/packages/pluggableWidgets/range-slider-web/package.json @@ -33,6 +33,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=RangeSlider.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/rating-web/package.json b/packages/pluggableWidgets/rating-web/package.json index 6009eee62c..9293abeed4 100644 --- a/packages/pluggableWidgets/rating-web/package.json +++ b/packages/pluggableWidgets/rating-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=StarRating.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/rich-text-web/package.json b/packages/pluggableWidgets/rich-text-web/package.json index 7b69d313ec..e644f9b8ee 100644 --- a/packages/pluggableWidgets/rich-text-web/package.json +++ b/packages/pluggableWidgets/rich-text-web/package.json @@ -33,6 +33,7 @@ "test": "jest --projects jest.config.js", "release": "cross-env MPKOUTPUT=RichText.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/selection-helper-web/package.json b/packages/pluggableWidgets/selection-helper-web/package.json index daed1eea5e..2eb64a9edf 100644 --- a/packages/pluggableWidgets/selection-helper-web/package.json +++ b/packages/pluggableWidgets/selection-helper-web/package.json @@ -33,7 +33,8 @@ "lint": "eslint --ext .jsx,.js,.ts,.tsx src/", "release": "pluggable-widgets-tools release:ts", "verify": "rui-verify-package-format", - "update-changelog": "rui-update-changelog-widget" + "update-changelog": "rui-update-changelog-widget", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/slider-web/package.json b/packages/pluggableWidgets/slider-web/package.json index 76e36634ac..03ec1ffbb5 100644 --- a/packages/pluggableWidgets/slider-web/package.json +++ b/packages/pluggableWidgets/slider-web/package.json @@ -33,6 +33,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=Slider.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/switch-web/package.json b/packages/pluggableWidgets/switch-web/package.json index ad57a55901..e8cf954fb6 100644 --- a/packages/pluggableWidgets/switch-web/package.json +++ b/packages/pluggableWidgets/switch-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "cross-env MPKOUTPUT=Switch.mpk pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/time-series-chart-web/package.json b/packages/pluggableWidgets/time-series-chart-web/package.json index a7a36cb5ce..78e0a9913b 100644 --- a/packages/pluggableWidgets/time-series-chart-web/package.json +++ b/packages/pluggableWidgets/time-series-chart-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/timeline-web/package.json b/packages/pluggableWidgets/timeline-web/package.json index 41765b1b8a..177d49040a 100644 --- a/packages/pluggableWidgets/timeline-web/package.json +++ b/packages/pluggableWidgets/timeline-web/package.json @@ -34,6 +34,7 @@ "test": "jest --projects jest.config.js", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/tooltip-web/package.json b/packages/pluggableWidgets/tooltip-web/package.json index 04b754e74e..5e774ef72f 100644 --- a/packages/pluggableWidgets/tooltip-web/package.json +++ b/packages/pluggableWidgets/tooltip-web/package.json @@ -34,6 +34,7 @@ "test": "jest --projects jest.config.js", "release": " pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/packages/pluggableWidgets/tree-node-web/package.json b/packages/pluggableWidgets/tree-node-web/package.json index 0712900475..97cddde243 100644 --- a/packages/pluggableWidgets/tree-node-web/package.json +++ b/packages/pluggableWidgets/tree-node-web/package.json @@ -36,7 +36,8 @@ "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", "e2e": "run-e2e ci", - "e2edev": "run-e2e dev --with-preps" + "e2edev": "run-e2e dev --with-preps", + "create-translation": "rui-create-translation" }, "devDependencies": { "@mendix/automation-utils": "workspace:*", diff --git a/packages/pluggableWidgets/video-player-web/package.json b/packages/pluggableWidgets/video-player-web/package.json index 8e0db0522b..1cd8bca7d8 100644 --- a/packages/pluggableWidgets/video-player-web/package.json +++ b/packages/pluggableWidgets/video-player-web/package.json @@ -34,6 +34,7 @@ "test": "pluggable-widgets-tools test:unit:web", "release": "pluggable-widgets-tools release:web", "create-gh-release": "rui-create-gh-release", + "create-translation": "rui-create-translation", "publish-marketplace": "rui-publish-marketplace", "verify": "rui-verify-package-format", "update-changelog": "rui-update-changelog-widget", diff --git a/turbo.json b/turbo.json index 7bcb837381..103f087b02 100644 --- a/turbo.json +++ b/turbo.json @@ -38,6 +38,11 @@ "cache": false, "dependsOn": ["release", "release:module", "push-update", "verify"] }, + "create-translation": { + "cache": false, + "outputs": [], + "inputs": ["src/**/*.xml", "!src/**/package.xml"] + }, "publish-marketplace": { "cache": false },