Skip to content

chore: upgrade dependencies - #156

Open
BenjaminTruong-okta wants to merge 8 commits into
masterfrom
chore/upgrade-dependencies
Open

chore: upgrade dependencies#156
BenjaminTruong-okta wants to merge 8 commits into
masterfrom
chore/upgrade-dependencies

Conversation

@BenjaminTruong-okta

@BenjaminTruong-okta BenjaminTruong-okta commented Aug 6, 2026

Copy link
Copy Markdown

Non-dependency changes

rollup.config.js

  • import pkg from './package.json' → with { type: 'json' }: required by Node's ESM loader now that Rollup config loads as native
    ESM (rollup 4.62.4).
  • Added delimiters override to replace(): @rollup/plugin-replace 6.x changed its default delimiters to skip matches followed by ..
    PACKAGE/AUTH_JS are only used via property access, so replacement was silently skipped, shipping unresolved identifiers (AUTH_JS
    is not defined at runtime).

jest.config.js

  • Moved ts-jest diagnostics config from globals into the transform entry: ts-jest 29.x removed the globals.ts-jest config path.
  • '^.+\.jsx?$' → '^.+\.m?jsx?$' and added transformIgnorePatterns for nostics: vue-router 5.2.0 added nostics as a transitive
    dependency; it's ESM-only ("type": "module") and needs Jest to transform it despite being in node_modules.

src/components/LoginCallback.vue

  • _props: {} → _props: Record<string, never>: @typescript-eslint/eslint-plugin 2.x → 5.x enables @typescript-eslint/ban-types,
    which flags {} as a type.

test/apps/test-harness/.eslintrc.js, test/components/.eslintrc.js

  • Added 'vue/multi-word-component-names': 'off': eslint-plugin-vue 7.x → 9.x added this rule, which flags existing single-word
    component files (App.vue, Home.vue, Protected.vue).

src/okta-vue.ts

  • Removed unused version import from vue: dead code since 2023, newly caught by the same @typescript-eslint bump as above
    (no-unused-vars).

CI-only changes

  • scripts/setup.sh: Node 16.20.2 → 24.11.0. @okta/okta-auth-js 8.0.1 requires Node ≥20; vue-router 5.2.0's @babel/generator@8.0.0
    dependency requires Node ^22.18.0 or ≥24.11.0. Picked 24.11.0 specifically since the internal nvm mirror lags newest patch
    releases.
  • package.json resolutions: pinned node-releases to 2.0.44 (newer versions require Node ≥18, breaking installs before the Node
    bump) and selenium-standalone to 8.2.1 (@wdio/selenium-standalone-service resolved to a version requiring selenium-standalone 9.x,
    which only fetches chromedriver from a bucket that doesn't host the Chrome 106 build this repo's e2e suite pins).
  • scripts/publish.sh: added --tag latest to npm publish. Node 24's bundled npm requires an explicit tag for prerelease-looking
    versions (the SHA-suffixed version ci-append-sha produces); Node 16's older npm defaulted to latest implicitly.

PR Checklist

Please check if your PR fulfills the following requirements:

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Adding Tests
  • Build related changes
  • CI related changes
  • Documentation changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Reviewers

Newer node-releases (>=2.0.45, pulled in transitively via browserslist)
declares engines.node >=18, which breaks yarn install --frozen-lockfile
on CI's pinned Node 16.20.2.
Node 16 is EOL and was requiring a node-releases resolution pin to
keep yarn install from failing on newer transitive dependencies.
vue-router@5.2.0 (upgraded this session) depends on @babel/generator@8.0.0,
which requires node ^22.18.0 || >=24.11.0. Verified no other installed
package's engines.node field is incompatible with 24.19.0.
24.19.0 was released 4 days ago and isn't in the internal nvm mirror yet
(exit code 3, version not found). 24.11.0 is the earliest 24.x release
satisfying @babel/generator's >=24.11.0 requirement and has had ~9 months
to propagate.
Pre-existing dead import (since 5335310) was only a warning locally,
but CI's lint step fails on it.
@wdio/selenium-standalone-service resolved to a newer 7.x patch that
requires selenium-standalone ^9.0.3, which only fetches chromedriver
from the Chrome for Testing bucket. That bucket doesn't host anything
for Chrome 106 (pinned in scripts/e2e.sh), causing a 404. 8.2.1 restores
the legacy chromedriver source that supports old Chrome versions.
Node 24's bundled npm requires an explicit --tag for prerelease-looking
versions (ci-append-sha produces e.g. 5.10.0-<sha>), unlike the npm 8.x
bundled with Node 16 which defaulted to 'latest'. This restores that
prior default explicitly.
Comment thread src/okta-vue.ts
* See the License for the specific language governing permissions and limitations under the License.
*/

import { App, shallowRef, triggerRef, version } from 'vue'

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

unused variable, called out by linter

'eslint:recommended',
'@vue/typescript/recommended'
],
rules: {

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

disabling a new ESLint rule that flagged single-word component names

@BenjaminTruong-okta
BenjaminTruong-okta marked this pull request as ready for review August 10, 2026 04:13
@BenjaminTruong-okta BenjaminTruong-okta changed the title Upgrade dependencies to latest semver/major versions, fix rollup-plug… chore: upgrade dependencies Aug 13, 2026
Comment thread package.json
"test:e2e": "yarn workspace @okta/test.e2e-wdio test",
"test:unit": "jest",
"bundle": "rollup -c rollup.config.js",
"bundle": "rollup -c rollup.config.js --bundleConfigAsCjs",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

did rollup stop working without this flag?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

yeah the flag is required by the rollup bump.
otherwise it fails with "require is not defined in ES module scope" (because rollup v4 changed how js config files are loaded, now as native ESM where "require" doesn't exist)

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