Skip to content

Move to structorizer v3 (async api) - #27

Closed
zingmane wants to merge 22 commits into
masterfrom
chore/move-to-v3
Closed

zingmane wants to merge 22 commits into
masterfrom
chore/move-to-v3

Conversation

@zingmane

@zingmane zingmane commented Nov 21, 2025

Copy link
Copy Markdown
Member

Einiges wurde aufgeräumt, ist alles auch im CHANGLOG.md festgehalten:

This Version includes several changes for a more modern JavaScript/TypeScript development experience.

- migrated from CommonJS to ES Modules (ESM) - converted all `require()` to `import` statements and `module.exports` to `export` statements
- removed Babel compilation and dependencies (Node 18+ supports ESM natively)
- removed `./lib` folder - source files are now the distribution
- simplified build process - only generates `./docs` and TS type definitions but now in `./src` folder
- replaced jest with faster more modern vitest
- added Prettier for consistent code formatting (integrated with ESLint)
- removed `node-fetch` - using native global `fetch` (Node 18+)
- changed npm script `prepublishOnly` to `build` because this is doing all the necessary steps to prepare the change for publishing via git
- removed `sync-request` dependency and all synchronous blocking calls - now all operations are async using `async/await` and native `fetch` API

Was man für die Migration tun müsste ist auch definiert. Steht in der readme.
Insgesamt finde ich es jetzt viel aufgeräumter und die Tests bleiben auch nicht immer für 10s stehen, aber die wurden vermutlich eh nie ausgeführt. Eine mini gh action habe ich auch dafür eingeführt.

In der vorherigen Version wollte ich die Types fixen, das hab ich aber zurück genommen, da sie so garnicht korrekt waren. Ich dachte structorizer.Tables().fetch() liefert ein Array<Table> zurück, so ist es aber nicht. Es ist tatsächlich {"tables": Array<Table>}, per jsdoc also leider nich mehr möglich als object. Vll. wäre es sinnvoll, das mal generell zu überdenken, ob man da nicht konsequenter sein sollte und evtl. doch mit ordentlichen TS Types arbeiten sollte.

@zingmane
zingmane requested review from McHunkyTrunk, Zwergal and smnhgn and removed request for Zwergal November 21, 2025 17:25

@smnhgn smnhgn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich habe gesehen, dass du in einem vorherigen Commit ein declare type GRUDStructorizer mit drin hattest. Das ist jetzt im letzten commit wieder rausgeflogen. Ohne den type GRUDStructorizer ist grudStructorizer beim import einfach nur any. Ansonsten siehts für mich code-technisch gut aus.

@smnhgn

smnhgn commented Nov 24, 2025

Copy link
Copy Markdown
Member

npm run jsdoc:ts gibt bei mir auch ein fehler/warnings aus:

[TSD-JSDoc] Unable to resolve type for an unnamed item, this is likely due to invalid JSDoc. Often this is caused by invalid JSDoc on a parameter. Defaulting to any.

though the types are not correct here either
@zingmane

Copy link
Copy Markdown
Member Author

npm run jsdoc:ts gibt bei mir auch ein fehler/warnings aus:

[TSD-JSDoc] Unable to resolve type for an unnamed item, this is likely due to invalid JSDoc. Often this is caused by invalid JSDoc on a parameter. Defaulting to any.

Die warings sind nicht neu, da sind einfach einige Dinge undefined, die auf any gemapped werden. Hab ich mir im Detail noch nicht angeschaut, vll. kann man die mit jsdoc fixen, vll. auch nicht.

@zingmane

Copy link
Copy Markdown
Member Author

Ich habe gesehen, dass du in einem vorherigen Commit ein declare type GRUDStructorizer mit drin hattest. Das ist jetzt im letzten commit wieder rausgeflogen. Ohne den type GRUDStructorizer ist grudStructorizer beim import einfach nur any. Ansonsten siehts für mich code-technisch gut aus.

Da ist mir beim zurück ändern wohl was verloren gegangen. Ich hab die einen fix dafür gepushed.

@zingmane
zingmane requested a review from smnhgn November 24, 2025 11:43
@zingmane

zingmane commented Mar 5, 2026

Copy link
Copy Markdown
Member Author

Brauchen wir nicht mehr, wird jetzt alles im GRUD-SDK gelöst

@zingmane zingmane closed this Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants