Skip to content

Conversation

karolszafranski
Copy link
Member

No description provided.

karolszafranski and others added 14 commits June 4, 2025 11:24
Change-Id: I788b689cfa800e7d9928a58769dcb3011475f88d
Change-Id: Icc95d403477004c191f857a25abf0a8483070579
Change-Id: I3a128738923dd5d9ebb3c562f2701c9a691c15f6
Change-Id: I658f3f014fdd1b0e5d43fa89b9950bb381bf557e
Change-Id: I48f25af261de0269f2ae1038f9ece41fecce02aa
Change-Id: I4ccba240c6d7aaa4c19e36e40233213661323852
Change-Id: Iffe23d6d56d6c1098fe7a9dc7f553d195c04dc36
Update formatting, line breaks, brackets, ... to match the requirements
of the linter. Also add some variable types where required.
Change-Id: I63efcb57cd8489582b3f39d327dd7621d4698ca9
This commit addresses several compatibility issues with newer Node.js versions
that were causing verification test failures in the Jenkins CI environment.

Changes made:

1. **Navigator property conflict (Device.js)**
   - Node.js now provides a built-in `navigator` global property that is getter-only
   - Added conditional logic to skip navigator assignment in Node.js test environment
   - Prevents "Cannot set property navigator of #<Object> which has only a getter" errors

2. **Crypto property conflict (main.js)**
   - Similar issue with Node.js built-in `crypto` property being getter-only
   - Added conditional check to avoid overriding built-in crypto in Node.js
   - Maintains compatibility while preserving intended behavior in production

3. **JSX global availability (main.js)**
   - JSX was only set globally during 'start' event, but tests expected immediate availability
   - Moved JSX global assignment to module initialization for non-browser environments
   - Fixes "expected undefined to equal { Object (processor, jsxFactory, ...) }" test failures

4. **Tabris initialization for verification tests (tabris.verify.js)**
   - Added before hook to initialize tabris with ClientMock for verification tests
   - Fixes "expected false to be true" error for tabris.started check
   - Ensures proper test environment setup

5. **Crypto test assertion adjustment (tabris.verify.js)**
   - Made crypto equality assertion conditional for Node.js environment
   - In Node.js, window.crypto remains the built-in implementation
   - Prevents false test failures while maintaining correct behavior verification

These changes ensure the verification tests pass in Node.js environments while
preserving the original behavior in production (native mobile runtimes where
tabris.js is intended to run).

Fixes Jenkins CI failures in grunt verify task.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change-Id: I9e9c54bf95fb07267c4358c5d7d237d57f743292
Update dependencies via npm update which upgraded Chai from 4.2.0 to 4.5.0.
Replace deep.equal assertions with individual property checks to handle
symbol property comparison correctly in the upgraded Chai version.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change-Id: Ibcdf2e1a1910b1d93743f85bb61e88691c03acc1
Replace hardcoded rollup binary paths with npx to ensure compatibility
across rollup versions and avoid build failures when binary locations change.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change-Id: I36c8a389d1534532b742f5b00abea12c69e9831e
Quote compress options to avoid CLI parsing errors and disable collapse_vars
and inline to work around known uglify-es bugs. Enable two compression passes.
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.

3 participants