Skip to content

Conversation

@liamdebeasi
Copy link
Contributor

@liamdebeasi liamdebeasi commented Dec 9, 2022

Docs PR: ionic-team/ionic-docs#2676

Pull request checklist

Please check if your PR fulfills the following requirements:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)
    • Some docs updates need to be made in the ionic-docs repo, in a separate PR. See the contributing guide for details.
  • Build (npm run build) was run locally and any changes were pushed
  • Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

The Stencil team would like to deprecate the extras option in Stencil v3.

What is the new behavior?

  • Bumped the minimum Firefox version for v7 from Firefox v63 to v70. I chose v70 because it gives us ~3 years of Firefox browser support.

  • These extras options have been removed:

  1. dynamicImportShim: Only needed on <= Edge 18 and <= Firefox 67 according to https://stenciljs.com/docs/config-extras#dynamicimportshim
  2. initializeNextTick: This is needed to work around an old Angular issue, though that issue is possibly no longer a problem. We should observe any negative side effects during the v7 beta.
  3. scriptDataOpts: This lets you call defineCustomElements from a vanilla JS app and a) load Ionic from a CDN and b) provide a config. This is not used anymore and our docs recommend adding the script tags yourself: https://ionicframework.com/docs/intro/cdn

Does this introduce a breaking change?

  • Yes
  • No

Other information

Note: Removing initializeNextTick caused a visual diff in Safari with iOS mode/RTL direction that I was unable to identify the root cause for. Some of the text in item/test/fill appears to be clipped by 1-2px. I am unable to reproduce this locally, so I decided it would be best to process despite this diff:

image

I have updated the screenshot test with the new diff that way we a) still get test covered for iOS mode/RTL direction on Safari and b) catch any diffs if this changes again.

Ryan believes this may be connectedCallback-related with a possible timing issue:

extras.initializeNextTick feeds into a BUILD conditional of the same name, BUILD.initializeNextTick. When the latter is truthy, connectedCallback wraps component initialization (a Stencil process) in a promise. Possible timing issue: https://github.com/ionic-team/stencil/blob/e1d17fbc51bfe592b5419b314befe1559088da73/src/runtime/connected-callback.ts#L91-L99

@liamdebeasi liamdebeasi changed the title Stencil extras refactor(config): remove stencil extras Dec 9, 2022
@github-actions github-actions bot added the package: core @ionic/core package label Dec 9, 2022
@liamdebeasi liamdebeasi marked this pull request as ready for review December 9, 2022 19:23
@liamdebeasi liamdebeasi requested a review from a team as a code owner December 9, 2022 19:23
@liamdebeasi
Copy link
Contributor Author

Blocked on #26454

@liamdebeasi liamdebeasi merged commit bd4027b into feature-7.0 Dec 15, 2022
@liamdebeasi liamdebeasi deleted the stencil-extras branch December 15, 2022 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: core @ionic/core package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants