Skip to content

Commit ee3d221

Browse files
iobuhovclaude
andcommitted
Extract typings-generator into separate @mendix/widget-typings-generator package
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 4c1971e commit ee3d221

54 files changed

Lines changed: 232 additions & 6 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/pluggable-widgets-tools/configs/rollup-plugin-widget-typing.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { promises as fs } from "fs";
22
import { extname, join } from "path";
33
import { listDir } from "./shared.mjs";
4-
5-
const { transformPackage } = await import(new URL("../dist/typings-generator/index.js", import.meta.url));
4+
import { transformPackage } from "@mendix/widget-typings-generator";
65

76
export function widgetTyping({ sourceDir }) {
87
let firstRun = true;

packages/pluggable-widgets-tools/jest.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const webConfig = {
77
rootDir: ".",
88
testMatch: [
99
"<rootDir>/src/web/**/*.spec.{ts,tsx}",
10-
"<rootDir>/src/typings-generator/**/*.spec.{ts,tsx}",
1110
"<rootDir>/src/utils/**/*.spec.{ts,tsx}"
1211
]
1312
};

packages/pluggable-widgets-tools/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"utils"
2626
],
2727
"dependencies": {
28+
"@mendix/widget-typings-generator": "workspace:*",
2829
"@babel/core": "^7.26.0",
2930
"@babel/plugin-transform-class-properties": "^7.25.9",
3031
"@babel/plugin-transform-private-methods": "^7.25.9",
Lines changed: 81 additions & 0 deletions
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default {
2+
preset: "ts-jest/presets/default-esm",
3+
testEnvironment: "node",
4+
testMatch: ["**/__tests__/**/*.spec.ts"],
5+
extensionsToTreatAsEsm: [".ts"],
6+
moduleNameMapper: {
7+
"^(\\.{1,2}/.*)\\.js$": "$1"
8+
},
9+
transform: {
10+
"^.+\\.tsx?$": [
11+
"ts-jest",
12+
{
13+
useESM: true
14+
}
15+
]
16+
}
17+
};
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"name": "@mendix/widget-typings-generator",
3+
"version": "1.0.0",
4+
"description": "TypeScript typings generator for Mendix Pluggable Widgets",
5+
"type": "module",
6+
"engines": {
7+
"node": ">=20"
8+
},
9+
"main": "dist/index.js",
10+
"types": "dist/index.d.ts",
11+
"scripts": {
12+
"prepack": "shx rm -rf dist && tsc",
13+
"test": "jest",
14+
"build": "tsc"
15+
},
16+
"files": [
17+
"dist",
18+
"src"
19+
],
20+
"dependencies": {
21+
"xml2js": "^0.6.2"
22+
},
23+
"devDependencies": {
24+
"@types/jest": "^30.0.0",
25+
"@types/node": "^16.18.126",
26+
"@types/xml2js": "^0.4.5",
27+
"jest": "^29.4.1",
28+
"shx": "^0.3.3",
29+
"ts-jest": "^29.2.5",
30+
"typescript": "^5.6.3"
31+
},
32+
"peerDependencies": {
33+
"big.js": "^6.0.0",
34+
"mendix": ">=9.0.0"
35+
},
36+
"peerDependenciesMeta": {
37+
"big.js": {
38+
"optional": true
39+
},
40+
"mendix": {
41+
"optional": true
42+
}
43+
},
44+
"keywords": [
45+
"mendix",
46+
"widgets",
47+
"typescript",
48+
"typings",
49+
"generator",
50+
"pluggable-widgets"
51+
],
52+
"license": "Apache-2.0",
53+
"copyright": "© Mendix Technology BV 2026. All rights reserved.",
54+
"homepage": "https://github.com/mendix/widgets-tools/tree/master/packages/widget-typings-generator",
55+
"repository": {
56+
"type": "git",
57+
"url": "https://github.com/mendix/widgets-tools/"
58+
}
59+
}

packages/pluggable-widgets-tools/src/typings-generator/PackageXml.ts renamed to packages/widget-typings-generator/src/PackageXml.ts

File renamed without changes.

packages/pluggable-widgets-tools/src/typings-generator/WidgetXml.ts renamed to packages/widget-typings-generator/src/WidgetXml.ts

File renamed without changes.

packages/pluggable-widgets-tools/src/typings-generator/__tests__/index.spec.ts renamed to packages/widget-typings-generator/src/__tests__/index.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ function generateNativeTypesFor(xml: string) {
268268
function convertXmltoJson(xml: string): WidgetXml {
269269
let content: WidgetXml = {};
270270
if (xml) {
271-
parseString(xml, {}, (err: Error, result: any) => {
271+
parseString(xml, {}, (err: Error | null, result: any) => {
272272
if (err) {
273273
throw err;
274274
}

packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/association.ts renamed to packages/widget-typings-generator/src/__tests__/inputs/association.ts

File renamed without changes.

0 commit comments

Comments
 (0)