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

chore: typescript 5.5 #2801

Merged
merged 4 commits into from
Jul 9, 2024
Merged

chore: typescript 5.5 #2801

merged 4 commits into from
Jul 9, 2024

Conversation

bennypowers
Copy link
Member

@bennypowers bennypowers commented Jul 7, 2024

What I did

  1. upgrade typescript to 5.5
  2. enable isolatedDeclarations
  3. resolve over a thousand lint warnings and ts complaints
  4. require typescript-eslint 8 alpha

massive lint. no more warnings
enable `isolatedDeclarations`, which makes our dx a bit worse but
improves downstream performance
Copy link

changeset-bot bot commented Jul 7, 2024

🦋 Changeset detected

Latest commit: b18d34c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@patternfly/eslint-config-elements Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added demo Updating demo pages doc functionality Functionality, typically pertaining to the JavaScript. generator Updates relating to the generator tests Related to testing tools Development and build tools labels Jul 7, 2024
@bennypowers bennypowers changed the title Chore/lint ts 55 chore: typescript 5.5 Jul 7, 2024
@github-actions github-actions bot added the AT passed Automated testing has passed label Jul 7, 2024
Copy link
Contributor

github-actions bot commented Jul 7, 2024

Deploy Preview for patternfly-elements ready!

Name Link
🔨 Latest commit adac728
😎 Deploy Preview https://deploy-preview-2801--patternfly-elements.netlify.app/

To edit notification comments on pull requests, go to your Netlify site settings.

Copy link
Contributor

github-actions bot commented Jul 7, 2024

SSR Test Run for 684ab78: Report

@zeroedin
Copy link
Collaborator

zeroedin commented Jul 8, 2024

In order to install this branch's dependencies I had to add the following to package.json to run npm ci:

      "optionalDependencies": {
        "@esbuild/darwin-arm64": "^0.23.0",
        "@rollup/rollup-darwin-arm64": "^4.18.1"
      }

Otherwise I end up with the following error:

pm ERR! [esbuild] Failed to find package "@esbuild/darwin-arm64" on the file system
npm ERR! 
npm ERR! This can happen if you use the "--no-optional" flag. The "optionalDependencies"
npm ERR! package.json feature is used by esbuild to install the correct binary executable
npm ERR! for your current platform. This install script will now attempt to work around
npm ERR! this. If that fails, you need to remove the "--no-optional" flag to use esbuild.
npm ERR! 
npm ERR! [esbuild] Trying to install package "@esbuild/darwin-arm64" using npm
npm ERR! node:internal/errors:932
npm ERR!   const err = new Error(message);
/Users/user/path_to_dir/node_modules/rollup/dist/native.js:59
                throw new Error(
                ^

Error: Cannot find module @rollup/rollup-darwin-arm64. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
    at requireWithFriendlyError (/Users/user/path_to_dir/node_modules/rollup/dist/native.js:59:9)
    at Object.<anonymous> (/Users/user/path_to_dir/node_modules/rollup/dist/native.js:68:76)

Copy link
Contributor

github-actions bot commented Jul 9, 2024

SSR Test Run for adac728: Report

Copy link
Collaborator

@zeroedin zeroedin left a comment

Choose a reason for hiding this comment

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

Looks Good Typescript Maintained

@bennypowers bennypowers merged commit 6bbecf1 into staging/4.0 Jul 9, 2024
13 of 14 checks passed
@bennypowers bennypowers deleted the chore/lint-ts-55 branch July 9, 2024 14:27
bennypowers added a commit that referenced this pull request Aug 16, 2024
* fix(avatar)!: remove BaseAvatar (#2630)

* fix(avatar)!: remove BaseAvatar

Closes #2617
Closes #2575
Closes #2349

* fix(avatar): update css

* fix(avatar)!: rename AvatarLoadEvent => PfAvatarLoadEvent

* fix(clipboard-copy)!: remove BaseClipboardCopy (#2635)

* fix(clipboard-copy)!: remove BaseClipboardCopy

Closes #2611

* fix(clipboard-copy): use pfv4 styles

* fix(clipboard-copy)!: rename ClipboardCopyCopiedEvent to PfClipboardCopyCopiedEvent

* fix(switch)!: remove BaseSwitch (#2634)

* fix(switch)!: remove BaseSwitch

Closes #2618

* fix(switch): remove extra semicolon

* Merge branch 'staging/4.0' into fix/switch/remove-base

* fix(switch): svg namespace

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(code-block)!: remove BaseCodeBlock (#2633)

Closes #2613

Co-authored-by: Steven Spriggs <[email protected]>

* fix(label)!: remove BaseLabel (#2632)

* fix(label)!: remove BaseLabel

Closes #2620

* feat(label): self-remove on close

* test(label): update tests

* fix(label): correct font-size unit, include missing pf global var

* docs(label): fix accesibility demo

* fix(label): removes the removal of element and only triggers close event

* fix(label): undo last commit, see the example in the changeset

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(badge)!: remove BaseBadge (#2629)

Closes #2619

* fix(spinner)!: remove BaseSpinner (#2627)

Closes #2614

Co-authored-by: Steven Spriggs <[email protected]>

* fix(tile)!: remove BaseTile (#2625)

Co-authored-by: Steven Spriggs <[email protected]>

* fix(tooltip)!: remove BaseTooltip (#2628)

Closes #2615

Co-authored-by: Steven Spriggs <[email protected]>

* feat(card)!: remove BaseCard (#2586)

* fix(card): moving styles and code from baseclass

* chore: changset

* feat(card): removing basecard class, styles

* fix(card): remove unused basecard import

* Update .changeset/sharp-spiders-float.md

Co-authored-by: Benny Powers <[email protected]>

* docs: make changeset major

* fix(card): make slot controller private

* feat(card): title slot, header actions

---------

Co-authored-by: Benny Powers <[email protected]>
Co-authored-by: Benny Powers <[email protected]>

* fix(button)!: remove BaseButton (#2631)

* fix(tabs)!: remove BaseTabs (#2745)

closes #2624

* fix(button): keyboard focus

* fix(switch): revert bad merge from BaseSwitch

* fix(icon)!: remove svg files (#2763)

* fix(icon)!: remove BaseIcon (#2636)

* fix(icon)!: remove BaseIcon

Closes #2621

* docs: jsdoc

* fix(icon): base styles

* docs: addIconSet jsdoc

Co-authored-by: Steven Spriggs <[email protected]>

* docs: jsdoc for getIconUrl

Co-authored-by: Steven Spriggs <[email protected]>

* style: lint

* fix: remove baseicon from bad merge

---------

Co-authored-by: Steven Spriggs <[email protected]>

* fix(accordion)!: remove BaseAccordion (#2764)

* fix(accordion)!: remove BaseAccordion

Closes #2612

fix(accordion): expand logic

refactor(accordion): prevent circular imports

* feat(tools): querySnapshot test helper

* test(accordion): fix some tests

* fix(accordion): single attribute

* feat(tools): ts transform to add static version to elements (#2768)

* fix(icon)!: remove getIconUrl for webpack's sake (#2766)

* fix(icon)!: remove getIconUrl for webpack's sake

* test(icon): refactor tests

* chore: update icons

* docs(icon): fix custom sets demo

* chore: update rhds dep

* feat!: ssr (#2762)

* fix(core)!: remove side effects from core import

Removes `window.PfeConfig` and auto-reveal features
Adds server checks to `createContextWithRoot`

* feat(tools): ssr test page

* test(accordion): ssr tests

* test(avatar): ssr tests

* test(back-to-top): ssr

* test(background-image): ssr

* test(badge): ssr

* test(banner): ssr

* test(button): ssr

* test(card): ssr

* test(chip): ssr

* test(clipboard-copy): ssr

* test(code-block): ssr

* test(dropdown): ssr

* test(icon): ssr

* test(jump-links): ssr

* test(label): ssr

* test(modal): ssr

* test(panel): ssr

* test(popover): ssr

* test(progress): ssr

* test(progress-stepper): ssr

* test(select): ssr

* test(spinner): ssr

* test(switch): ssr

* test(table): ssr

* test(tabs): ssr

* test(text-area): ssr

* test(text-area): ssr

* test(tile): ssr

* test(timestamp): ssr

* test(tooltip): ssr

* feat(create-element): ssr tests

* feat(tools): automatic ssr demos

* fix(tools): shim module

* docs: changesets

* test: remove cruft

* fix(tools): ssr error reports

* test: playwright config for ssr

* chore: ssr test workflow

* fix(tools): ssr error status message

* chore: ssr test workflow

* chore: ssr test workflow

* chore: ignore reports

* fix(accordion): ssrability

* fix(back-to-top): ssrability

* docs: jsdoc for ssr tests

* chore: test workflow in ci

* fix(core): fix Logger for ssr

* style: whitespace

* chore: better elements build

* fix(core): more ssr-able controllers

* test(back-to-top): ssrable demos

* fix(tools): redirects for demos in dev server

* fix(tools): ssr files

* test(background-image): ssrable demos

* fix(tools): 11ty demo images

* fix(core): floating dom controller more ssrable

* feat(tools): export ssr helpers

* fix(code-block): ssrable

* fix(jump-links): ssrable

* fix(core): ssrable ScrollSpyController

* fix(progress-stepper): ssrable

* fix(popover): ssrable

* fix(core): ssrable lbc

* fix(icon): ssr

* fix(select): ssrable

* fix(table): ssrable

* fix(text-area): ssrable

* fix(text-input): ssrable

* fix(tooltip): ssrable

* chore: pr reports

* fix(tools): update playwright

* chore: ssr workflow

* chore: ssr workflow

* chore: actions versions

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* chore: ssr workflow

* fix: remove BaseAccordion from bad merge

* chore: remove references to Base*

* fix(core): ariaDescribedByElements, etc types

* chore: lint

massive lint. no more warnings

* chore: update typescript

enable `isolatedDeclarations`, which makes our dx a bit worse but
improves downstream performance

* chore: appease cupertino

* chore: pkg lock

* refactor(core): clarify the guts of InternalsController

* docs(button): demo of custom roles

* docs(button): a wee bit of style

* chore: typescript 5.5 (#2801)

* chore: lint

massive lint. no more warnings

* chore: update typescript

enable `isolatedDeclarations`, which makes our dx a bit worse but
improves downstream performance

* chore: appease cupertino

* chore: pkg lock

* fix(tools): less chatty tests

* chore: deps

* chore: lint

* test: lint

* chore: update playwright in ci

* fix(tools): dev server config watcher regexp

* perf(tools): dev server uses mtime for etag

* feat(core): new decorators `@listen` and  `@observes` (#2807)

* feat(core): add `@listen` decorator

* feat(core): add `@observes` decorator

* refactor: use new listen and observes decorators

* fix(core): listen decorator call lifecycle correctly

* test(core): observes decorator test

* feat(core): observes decorator options

waitFor option lets caller wait for connected, firstUpdated, or updated
until calling the method

* fix: observes calls

* fix(core): improved types

* fix(core): even better types

* test(core): listen decorator

* feat(select): typeahead (#2809)

* fix(select): display value from attribute

* feat(select): typeahead

adds `ActivedescendantController` to core

* fix: wip activedescendantcontroller clone nodes

* fix(select): slightly less janky clonenode path

* refactor: iterative improvements

* fix(core)!: a11y controller options

* fix: elements usage of a11y controllers

* fix!: abstract ATFocusController

* fix!: inching towards correctness

* fix: give listbox controller access to control element

* fix: inching closer

* fix(core): index at focus item by number

* fix(select): typeahead, focus, filter

* fix(select): roles

* fix(select): combobox controller

* fix(select): combobox controller

works with orca ff, apparently

* fix(core): combobox

* fix(select): better vo support

* fix(select): activedescentant

* fix(select): dropdown orientation

* fix(core): listbox select

* fix: select, core jsdoc, cleanup

* fix(core): a more general combobox interface

* fix(core): more nitpicks

* fix(core): oopsies

forgot to commit these yesterday

* refactor(select): polish

* fix(tabs): update to use new rtic stuff

* fix(core): initial focus for rti

* fix(accordion): wip rtic migration

* test(accordion): update tests

* refactor(accordion): whitespace

* docs(accordion): focusable content in panel

* docs(accordion): demo formatting

* test(accordion): fix and refactor tests

* fix(core): off-by-one error in RTIC controller

* fix(core): nested rtic

* feat(tools): chai a11y snapshot assertions

* fix(core): more ssr-able controllers

* fix(core): more ssr-able controllers

* fix(core): more ssr-able controllers

* fix(icon): more ssr-able icon

* fix(core): remove unused ax controller apis

* test(core): observes decorator

* fix(chip): rtic apis, tests

* feat(tools): a11yShapshot queries can match regex

* chore: import maps in tests

* refactor(select): type assertion

* feat(tools): more ax assertions

* fix(core): listbox/combobox selection state

* fix(select): no placeholder label

* fix(select): checkboxes

* fix(core): listbox select behaviour

* feat(tools): more ax chai helpers

* docs(select): checkbox demo padding

* test(select): all green

* test: reporter in ci

* fix(tools): always junit reporter in ci

* chore: test runner config

* fix(tools): test runner config

* fix(tools): flatten assertions in ci

* test(select): summaries

* chore: update deps

* test: refactor ax helpers

* test(select): reformat test file

* test(select): taborder when bluring listbox

* test(select): format test file

* test(select): home/end should expand listbox

* test(select): show+home after selecting

* test(select): no scroll on space

* docs(select): demo containers

* fix(core): aria-multiselectable

* test(select): format test file

* fix(select): redundant button role

* fix: visually-hidden styles

* test(select): provisional home/end typeahead

* test(select): aria-posinset

* fix(core): listbox aria-posinset

* test(select): format file

* test(select): dont expand listbox on type space

* test(select): space on button no scroll

* fix(core): combobox prevent scroll

Also prevent listbox from showing on typing space in combobox input

* test(select): tabbing away does not focus button

* fix(core): combobox dont focus button on blur

* refactor(core): combobox listeners

* fix(core): home/end for combobox

* test(select): format file

* fix(select): ghost placeholder

* test(select): refactor

* test(select): cases involving labels and placeholders

* fix(core): placeholder/label/carat

* fix(select): focus styles

* fix(select): fallback label to placeholder

* fix(select): workaround for safari

* test(select): cases

* fix(select): inert instead of aria-hidden

* fix(core): safari workaround for activedescendant

* fix(core): wip single-vs-multiselect on click

* fix(core): multiselect click

* fix(select): checkbox label

* test(select): refactor tests

* feat(tools): test utils: allow clicking out of element bounds

* test(select): clicking items

* fix(core): clicking shadow ad items

* test(select): more better selected tests

* fix(core): clicking shadow items

* fix(core): more x-root aria shenanigans

* test(select): add lightdom options slotted test

* refactor(core): unused var

* test(core): test shadow-root-only combobox-controller

* test(core): combobox works even with no user-set ids

* fix(core): propertly detect rotten apples

* refactor(core): rename support boolean

* fix(core): ad controller works without preset ids

* fix(core): default isItemDisabled predicate

* test: try to deflake

* test(select): greg's issues when an item is selected

* refactor(core): controller field privacy

* fix(core): correct order of operations in combobox listeners

* refactor(core): override onKeydown

* fix(core): ensure compatibility in combobox controller

* test(core): combobox tests

* refactor(core): don't bind this in controller options

---------

Co-authored-by: Steven Spriggs <[email protected]>

* feat(tools): getAllManifests

* fix(tools): correct import (#2824)

* docs: more changesets

* chore: decruft

* docs: pdate a11y-controller-opts.md

* docs: update dirty-bears-win.md

* docs: update a11y-controller-opts.md

---------

Co-authored-by: Steven Spriggs <[email protected]>
Co-authored-by: Brian Ferry <[email protected]>
Co-authored-by: Kelsey S <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT passed Automated testing has passed demo Updating demo pages doc functionality Functionality, typically pertaining to the JavaScript. generator Updates relating to the generator ready to merge tests Related to testing tools Development and build tools
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants