Skip to content

refactor(scripts): single-process wrapper generation - #198

Open
rkaraivanov wants to merge 1 commit into
masterfrom
rkaraivanov/prepare-release
Open

refactor(scripts): single-process wrapper generation#198
rkaraivanov wants to merge 1 commit into
masterfrom
rkaraivanov/prepare-release

Conversation

@rkaraivanov

Copy link
Copy Markdown
Member

The four build-* scripts each spawned npm + tsx and built a TypeScript program over all of src/**, re-parsing the wrappers the previous step had just written. They are configs now; generate.ts runs them together and resolves every type entry in one program. ~10s -> ~2.5s, byte-identical output.

  • remove the undeclared glob import and unused rimraf
  • type-check scripts/ for the first time (typecheck:scripts)
  • add check:manifests: published ranges must admit installed versions
  • read custom-elements.json rather than import it; tsc was inferring a literal type for 4.5MB of JSON nothing used (typecheck 3.9s -> 1.5s)
  • warn on config tags matching no declaration; drop two stale ignores
  • stop mutating the shared manifest in createEvents/parseElementsJSON
  • resolve template config into one predicate, dropping the igc-chat branch
  • CI: static gates before the build in both pipelines; cache Playwright
  • rename build-* npm scripts to generate:*
  • update igniteui-webcomponents to 7.3.1, grid-lite to 0.10.0

Additional information (check all that apply):

  • Bug fix
  • New functionality
  • CI/CD

Checklist:

  • All relevant tags have been applied to this PR

The four build-* scripts each spawned npm + tsx and built a TypeScript
program over all of src/**, re-parsing the wrappers the previous step had
just written. They are configs now; generate.ts runs them together and
resolves every type entry in one program. ~10s -> ~2.5s, byte-identical
output.

- remove the undeclared `glob` import and unused `rimraf`
- type-check scripts/ for the first time (typecheck:scripts)
- add check:manifests: published ranges must admit installed versions
- read custom-elements.json rather than import it; tsc was inferring a
  literal type for 4.5MB of JSON nothing used (typecheck 3.9s -> 1.5s)
- warn on config tags matching no declaration; drop two stale ignores
- stop mutating the shared manifest in createEvents/parseElementsJSON
- resolve template config into one predicate, dropping the igc-chat branch
- CI: static gates before the build in both pipelines; cache Playwright
- rename build-* npm scripts to generate:*
- update igniteui-webcomponents to 7.3.1, grid-lite to 0.10.0
@github-code-quality

Copy link
Copy Markdown

Code Coverage Overview

Languages: TypeScript

TypeScript / React Wrappers

The overall line coverage in commit 55c715c in the rkaraivanov/prepare-... branch remains at 97%, unchanged from commit ade3a64 in the master branch.

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.

1 participant