Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump TypeScript to 5.5 #17733

Draft
wants to merge 23 commits into
base: dev
Choose a base branch
from
Draft

Bump TypeScript to 5.5 #17733

wants to merge 23 commits into from

Conversation

myabc
Copy link
Contributor

@myabc myabc commented Jan 27, 2025

⚠️ This PR includes commits from #17694. Please review/merge that PR first.

Ticket

What are you trying to accomplish?

This PR upgrades TypeScript to 5.5, which enables us to take advantage of improvements to the type checker, as well as RegEx syntax checking. If necessary, this work could be broken out into a separate PR.

Screenshots

What approach did you choose and why?

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome, Firefox, Edge, ...)

myabc added 23 commits January 27, 2025 08:15
As of 5a2a501 we are now importing the actual I18n implementation.
Also resolves the following warning:

    Unable to determine file type from the file extension, defaulting to js.
Allows us to perform plugin symlinking and file generation necessary for
bootstapping frontend tests. Based on a standard plugin setup.
Broken with upgrade from v5 to v6. Formly now defines an extra
`formly-field` for a given `formly-form` component.

See: https://formly.dev/docs/guide/migration#10-formly-root-field
Updates spec for store changes made in 077112d and template changes in
9fbb746.
Fixes additional schema warnings.
Updates spec for selector change in 077112d.
Updates spec for store, selector changes in 077112d.

Also forces change detection via `ChangeDetectorRef`.
Add stubs for ICKEditor: this works around an issue with the use of
dynamic ESM imports in `CKEditorSetupService#load()` not working with
our Karma/Webpack configuration.
Replaces deprecated `FormlyTemplateOptions` interface.
See: https://formly.dev/docs/guide/migration#ngx-formlycorejson-schema

N.B. That further improvements to type safety could be made by extending
`IOPFormlyTemplateOptions`, employing discriminating unions.
Relate to Angular router:

    NG0303: Can't bind to 'uiSref' since it isn't a known property of 'a' (used in the 'ScrollableTabsComponent' component template).
    NG0303: Can't bind to 'uiParams' since it isn't a known property of 'a' (used in the 'ScrollableTabsComponent' component template).
Match the `node-version` defined in root `package.json` `engines` entry,
`.github/workflows/docker.yml` and `docker/ci/Dockerfile`.
@myabc myabc force-pushed the housekeeping/bump-typescript-5.5 branch from 725eb54 to 4574c0d Compare January 27, 2025 11:15
});

function generatePluginModule(plugins) {
const fileRegister = path.join(railsRout, "frontend/src/app/features/plugins/linked-plugins.module.ts");
Copy link
Member

Choose a reason for hiding this comment

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

This code duplicates the plugin linking of

, so it will not test the reality of the build.

We can't get rid of the ruby-based building, as plugins might be added by the Gemfile. I'd vote that we either

  • use setup-ruby, bundle with cache und use the actual plugin linking code
  • accept that plugins are not properly tested in the frontend code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants